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

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

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

_Z17upx_doctest_checkiPPc:
   44|  14.9k|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.9k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST"))
  ------------------
  |  Branch (50:9): [True: 0, False: 14.9k]
  ------------------
   51|      0|        return 0;
   52|  14.9k|    bool minimal = true;   // don't show summary
   53|  14.9k|    bool duration = false; // don't show timings
   54|  14.9k|    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.9k|    const char *e = upx_getenv("UPX_DEBUG_DOCTEST_VERBOSE");
   60|  14.9k|    if (e && e[0]) {
  ------------------
  |  Branch (60:9): [True: 0, False: 14.9k]
  |  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.9k|    doctest::Context context;
   75|  14.9k|    if (minimal)
  ------------------
  |  Branch (75:9): [True: 14.9k, False: 0]
  ------------------
   76|  14.9k|        context.setOption("dt-minimal", true);
   77|  14.9k|    if (duration)
  ------------------
  |  Branch (77:9): [True: 0, False: 14.9k]
  ------------------
   78|      0|        context.setOption("dt-duration", true);
   79|  14.9k|    if (success)
  ------------------
  |  Branch (79:9): [True: 0, False: 14.9k]
  ------------------
   80|      0|        context.setOption("dt-success", true);
   81|       |    // this requires that main_get_options() understands/ignores doctest "--dt-XXX" options
   82|  14.9k|    if (argc > 0 && argv != nullptr)
  ------------------
  |  Branch (82:9): [True: 14.9k, False: 0]
  |  Branch (82:21): [True: 14.9k, False: 0]
  ------------------
   83|  14.9k|        context.applyCommandLine(argc, argv);
   84|  14.9k|    int r = context.run();
   85|  14.9k|    if (r != 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 14.9k]
  ------------------
   86|      0|        return 1;
   87|  14.9k|    if (context.shouldExit())
  ------------------
  |  Branch (87:9): [True: 0, False: 14.9k]
  ------------------
   88|      0|        return 2;
   89|  14.9k|    return 0;
   90|  14.9k|#endif // DOCTEST_CONFIG_DISABLE
   91|  14.9k|}
_Z25upx_compiler_sanity_checkv:
  865|  29.8k|void upx_compiler_sanity_check() noexcept {
  866|  29.8k|    check_basic_floating_point();
  867|       |
  868|  29.8k|    if (is_envvar_true("UPX_DEBUG_DOCTEST_DISABLE", "UPX_DEBUG_DISABLE_DOCTEST")) {
  ------------------
  |  Branch (868:9): [True: 0, False: 29.8k]
  ------------------
  869|       |        // If UPX_DEBUG_DOCTEST_DISABLE is set then we don't want to throw any
  870|       |        // exceptions in order to improve debugging experience.
  871|  29.8k|    } else {
  872|       |        // check working C++ exception handling to early catch toolchain/qemu/wine/etc problems
  873|  29.8k|        check_basic_cxx_exception_handling(throwSomeValue);
  874|  29.8k|    }
  875|       |
  876|       |    // check_basic_decltype()
  877|  29.8k|    {
  878|  29.8k|        auto a = +0;
  879|  29.8k|        constexpr auto b = -0;
  880|  29.8k|        const auto &c = -1;
  881|  29.8k|        static_assert((std::is_same<int, decltype(a)>::value));
  882|  29.8k|        static_assert((std::is_same<const int, decltype(b)>::value));
  883|  29.8k|        static_assert((std::is_same<const int &, decltype(c)>::value));
  884|  29.8k|        UNUSED(a);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  885|  29.8k|        UNUSED(b);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  886|  29.8k|        UNUSED(c);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  887|  29.8k|    }
  888|       |
  889|  29.8k|#define ACC_WANT_ACC_CHK_CH 1
  890|  29.8k|#undef ACCCHK_ASSERT
  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  892|  29.8k|#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|  29.8k|#if defined(ACC_WANT_ACC_CHK_CH)
  |  | 5573|  29.8k|#  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|  29.8k|#define ACCCHK_VAL  1
  |  | 5620|  29.8k|#define ACCCHK_TMP1 ACCCHK_VAL
  |  | 5621|  29.8k|#undef ACCCHK_VAL
  |  | 5622|  29.8k|#define ACCCHK_VAL  2
  |  | 5623|  29.8k|#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|  29.8k|#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|  29.8k|#undef ACCCHK_TMP1
  |  | 5638|  29.8k|#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|  29.8k|    ACCCHK_ASSERT(1 == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5651|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,1) == 1u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5652|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,2) == 3u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5653|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,3) == 7u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5654|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,8) == 255u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5655|  29.8k|#if (ACC_SIZEOF_INT >= 2)
  |  | 5656|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,15) == 32767)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5657|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,16) == 0xffffU)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5658|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,16) == 0u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5659|  29.8k|#endif
  |  | 5660|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,16) == 0xffffUL)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5661|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,16) == 0ul)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5662|  29.8k|#if (ACC_SIZEOF_INT >= 4)
  |  | 5663|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,31) == 2147483647)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5664|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,32) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5665|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0u,32) == 0u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5666|  29.8k|#endif
  |  | 5667|  29.8k|#if (ACC_SIZEOF_LONG >= 4)
  |  | 5668|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,32) == 0xffffffffUL)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5669|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,32) == 0ul)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5670|  29.8k|#endif
  |  | 5671|  29.8k|#if (ACC_SIZEOF_LONG >= 8)
  |  | 5672|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,64) == 0xffffffffffffffffUL)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5673|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0ul,64) == 0ul)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5674|  29.8k|#endif
  |  | 5675|  29.8k|#if !(ACC_BROKEN_INTEGRAL_PROMOTION)
  |  | 5676|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1u,ACC_SIZEOF_INT*8) == ~0u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5677|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1ul,ACC_SIZEOF_LONG*8) == ~0ul)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5678|  29.8k|#endif
  |  | 5679|  29.8k|#if 1
  |  | 5680|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(0,0) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5681|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(1,0) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5682|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,0) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5683|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,0) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5684|  29.8k|#endif
  |  | 5685|  29.8k|#if 1
  |  | 5686|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,1) == 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5687|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,1) == 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5688|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,1) == 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5689|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,2) == 2+4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5690|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,2) == 4+8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5691|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,2) == 8+16)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5692|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(2,3) == 2+4+8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5693|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(4,3) == 4+8+16)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5694|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(8,3) == 8+16+32)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5695|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,1) == 7)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5696|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,2) == 7+14)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5697|  29.8k|    ACCCHK_ASSERT(__ACC_MASK_GEN(7,3) == 7+14+28)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5698|  29.8k|#endif
  |  | 5699|  29.8k|#if !(ACC_BROKEN_SIGNED_RIGHT_SHIFT)
  |  | 5700|  29.8k|    ACCCHK_ASSERT(((-1) >> 7) == -1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5701|  29.8k|#endif
  |  | 5702|  29.8k|    ACCCHK_ASSERT(((1)  >> 7) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|    ACCCHK_ASSERT((~0l  & ~0)  == ~0l)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5708|  29.8k|    ACCCHK_ASSERT((~0l  & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5709|  29.8k|    ACCCHK_ASSERT((~0ul & ~0)  == ~0ul)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5710|  29.8k|    ACCCHK_ASSERT((~0ul & ~0u) == ~0u)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|    ACCCHK_ASSERT((~0l  & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5717|  29.8k|    ACCCHK_ASSERT((~0ul & ~0u) == 0xffffffffU)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5718|  29.8k|#endif
  |  | 5719|       |#if (ACC_CC_INTELC && (__INTEL_COMPILER >= 900))
  |  | 5720|       |#  pragma warning(pop)
  |  | 5721|       |#endif
  |  | 5722|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(signed char)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5723|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned char)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5724|  29.8k|    ACCCHK_ASSERT(sizeof(signed char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5725|  29.8k|    ACCCHK_ASSERT(sizeof(unsigned char) == sizeof(char))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5726|  29.8k|    ACCCHK_ASSERT(sizeof(char) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5727|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5728|       |#else
  |  | 5729|  29.8k|    ACCCHK_ASSERT(sizeof(char) == sizeof(ACC_STATIC_CAST(char, 0)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5730|  29.8k|#endif
  |  | 5731|  29.8k|#if defined(__cplusplus)
  |  | 5732|  29.8k|    ACCCHK_ASSERT(sizeof('\0') == sizeof(char))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|#if defined(__acc_alignof)
  |  | 5740|  29.8k|    ACCCHK_ASSERT(__acc_alignof(char) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5741|  29.8k|    ACCCHK_ASSERT(__acc_alignof(signed char) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5742|  29.8k|    ACCCHK_ASSERT(__acc_alignof(unsigned char) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5743|  29.8k|#if defined(acc_int16e_t)
  |  | 5744|  29.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) >= 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5745|  29.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int16e_t) <= 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5746|  29.8k|#endif
  |  | 5747|  29.8k|#if defined(acc_int32e_t)
  |  | 5748|  29.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) >= 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5749|  29.8k|    ACCCHK_ASSERT(__acc_alignof(acc_int32e_t) <= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5750|  29.8k|#endif
  |  | 5751|  29.8k|#endif
  |  | 5752|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(short)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5753|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned short)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5754|  29.8k|    ACCCHK_ASSERT(sizeof(short) == sizeof(unsigned short))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5755|  29.8k|#if !(ACC_ABI_I8LP16)
  |  | 5756|  29.8k|    ACCCHK_ASSERT(sizeof(short) >= 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5757|  29.8k|#endif
  |  | 5758|  29.8k|    ACCCHK_ASSERT(sizeof(short) >= sizeof(char))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5759|       |#if (ACC_CC_CILLY) && (!defined(__CILLY__) || (__CILLY__ < 0x010302L))
  |  | 5760|       |#else
  |  | 5761|  29.8k|    ACCCHK_ASSERT(sizeof(short) == sizeof(ACC_STATIC_CAST(short, 0)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5762|  29.8k|#endif
  |  | 5763|  29.8k|#if (ACC_SIZEOF_SHORT > 0)
  |  | 5764|  29.8k|    ACCCHK_ASSERT(sizeof(short) == ACC_SIZEOF_SHORT)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5765|  29.8k|#endif
  |  | 5766|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(int)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5767|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5768|  29.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(unsigned))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5769|  29.8k|#if !(ACC_ABI_I8LP16)
  |  | 5770|  29.8k|    ACCCHK_ASSERT(sizeof(int) >= 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5771|  29.8k|#endif
  |  | 5772|  29.8k|    ACCCHK_ASSERT(sizeof(int) >= sizeof(short))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5773|  29.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(0))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5774|  29.8k|    ACCCHK_ASSERT(sizeof(int) == sizeof(ACC_STATIC_CAST(int, 0)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5775|  29.8k|#if (ACC_SIZEOF_INT > 0)
  |  | 5776|  29.8k|    ACCCHK_ASSERT(sizeof(int) == ACC_SIZEOF_INT)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5777|  29.8k|#endif
  |  | 5778|  29.8k|    ACCCHK_ASSERT(sizeof(0) == sizeof(int))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5779|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(long)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5780|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(unsigned long)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5781|  29.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(unsigned long))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5782|  29.8k|#if !(ACC_ABI_I8LP16)
  |  | 5783|  29.8k|    ACCCHK_ASSERT(sizeof(long) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5784|  29.8k|#endif
  |  | 5785|  29.8k|    ACCCHK_ASSERT(sizeof(long) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5786|  29.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(0L))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5787|  29.8k|    ACCCHK_ASSERT(sizeof(long) == sizeof(ACC_STATIC_CAST(long, 0)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5788|  29.8k|#if (ACC_SIZEOF_LONG > 0)
  |  | 5789|  29.8k|    ACCCHK_ASSERT(sizeof(long) == ACC_SIZEOF_LONG)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5790|  29.8k|#endif
  |  | 5791|  29.8k|    ACCCHK_ASSERT(sizeof(0L) == sizeof(long))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5792|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(size_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5793|  29.8k|    ACCCHK_ASSERT(sizeof(size_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5794|  29.8k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(sizeof(0)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5795|  29.8k|#if (ACC_SIZEOF_SIZE_T > 0)
  |  | 5796|  29.8k|    ACCCHK_ASSERT(sizeof(size_t) == ACC_SIZEOF_SIZE_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5797|  29.8k|#endif
  |  | 5798|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(ptrdiff_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5799|  29.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5800|  29.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) >= sizeof(size_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5801|  29.8k|#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|  29.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(ACC_STATIC_CAST(char*, ACC_nullptr) - ACC_STATIC_CAST(char*, ACC_nullptr)))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5806|  29.8k|#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|  29.8k|#endif
  |  | 5811|  29.8k|#if (ACC_SIZEOF_PTRDIFF_T > 0)
  |  | 5812|  29.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == ACC_SIZEOF_PTRDIFF_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5813|  29.8k|#endif
  |  | 5814|  29.8k|    ACCCHK_ASSERT(sizeof(void*) >= sizeof(char*))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5815|  29.8k|#if (ACC_SIZEOF_VOID_P > 0)
  |  | 5816|  29.8k|    ACCCHK_ASSERT(sizeof(void*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5817|  29.8k|    ACCCHK_ASSERT(sizeof(char*) == ACC_SIZEOF_VOID_P)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5818|  29.8k|#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|  29.8k|    ACCCHK_ASSERT((((1u  << 15) + 1) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5828|  29.8k|    ACCCHK_ASSERT((((1ul << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5829|  29.8k|#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|  29.8k|    ACCCHK_ASSERT((1u  << (8*ACC_SIZEOF_INT-1)) > 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|    ACCCHK_ASSERT((1ul << (8*ACC_SIZEOF_LONG-1)) > 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5841|  29.8k|#if defined(acc_int16e_t)
  |  | 5842|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5843|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == ACC_SIZEOF_ACC_INT16E_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5844|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint16e_t) == 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5845|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int16e_t) == sizeof(acc_uint16e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5846|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int16e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5847|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint16e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5848|       |#if defined(__MSDOS__) && defined(__TURBOC__) && (__TURBOC__ < 0x0150)
  |  | 5849|       |#else
  |  | 5850|  29.8k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint16e_t, (~ACC_STATIC_CAST(acc_uint16e_t,0ul))) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5851|  29.8k|#endif
  |  | 5852|  29.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int16e_t, (1 + ~ACC_STATIC_CAST(acc_int16e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|#endif
  |  | 5857|  29.8k|#if defined(acc_int32e_t)
  |  | 5858|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5859|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == ACC_SIZEOF_ACC_INT32E_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5860|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint32e_t) == 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5861|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32e_t) == sizeof(acc_uint32e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5862|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5863|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32e_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5864|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5865|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32e_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5866|  29.8k|    ACCCHK_ASSERT((ACC_STATIC_CAST(acc_uint32e_t, (~ACC_STATIC_CAST(acc_uint32e_t, 0ul))) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5867|  29.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(acc_int32e_t, (1 + ~ACC_STATIC_CAST(acc_int32e_t, 0))) == 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|#endif
  |  | 5872|  29.8k|#if defined(acc_int32e_t)
  |  | 5873|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5874|  29.8k|#endif
  |  | 5875|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5876|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == ACC_SIZEOF_ACC_INT32L_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5877|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint32l_t) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5878|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32l_t) == sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5879|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32l_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5880|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32l_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5881|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32l_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5882|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32l_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5883|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(int))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5884|  29.8k|#if defined(acc_int32e_t)
  |  | 5885|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5886|  29.8k|#endif
  |  | 5887|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5888|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5889|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) >= sizeof(acc_int32l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5890|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == ACC_SIZEOF_ACC_INT32F_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5891|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5892|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint32f_t) >= sizeof(acc_uint32l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5893|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int32f_t) == sizeof(acc_uint32f_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5894|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int32f_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5895|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int32f_t, 1) << 30) + 1) >> 30) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5896|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint32f_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5897|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint32f_t, 1) << 31) + 1) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5898|  29.8k|#if defined(acc_int64e_t)
  |  | 5899|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5900|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == ACC_SIZEOF_ACC_INT64E_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5901|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint64e_t) == 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5902|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64e_t) == sizeof(acc_uint64e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5903|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64e_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5904|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5905|       |#else
  |  | 5906|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64e_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5907|  29.8k|#endif
  |  | 5908|  29.8k|#endif
  |  | 5909|  29.8k|#if defined(acc_int64l_t)
  |  | 5910|  29.8k|#if defined(acc_int64e_t)
  |  | 5911|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5912|  29.8k|#endif
  |  | 5913|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5914|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == ACC_SIZEOF_ACC_INT64L_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5915|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint64l_t) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5916|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64l_t) == sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5917|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64l_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5918|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_int64l_t, 1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5919|  29.8k|    ACCCHK_ASSERT(((( ACC_INT64_C(1) << 62) + 1) >> 62) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5920|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5921|       |#else
  |  | 5922|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64l_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5923|  29.8k|    ACCCHK_ASSERT(ACC_UINT64_C(18446744073709551615)     > 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5924|  29.8k|#endif
  |  | 5925|  29.8k|    ACCCHK_ASSERT(((( ACC_STATIC_CAST(acc_uint64l_t, 1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5926|  29.8k|    ACCCHK_ASSERT(((( ACC_UINT64_C(1) << 63) + 1) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    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|  29.8k|    ACCCHK_ASSERT(ACC_INT64_C(9223372036854775807)       > 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5931|  29.8k|#endif
  |  | 5932|  29.8k|    ACCCHK_ASSERT(ACC_INT64_C(-9223372036854775807) - 1  < 0)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5933|  29.8k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483629)  == 721)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5934|  29.8k|    ACCCHK_ASSERT( ACC_INT64_C(9223372036854775807) % ACC_INT32_C(2147483647)  == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5935|  29.8k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483629) == 721)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5936|  29.8k|    ACCCHK_ASSERT(ACC_UINT64_C(9223372036854775807) % ACC_UINT32_C(2147483647) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5937|  29.8k|#endif
  |  | 5938|  29.8k|#if defined(acc_int64f_t)
  |  | 5939|  29.8k|#if defined(acc_int64e_t)
  |  | 5940|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64e_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5941|  29.8k|#endif
  |  | 5942|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5943|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5944|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) >= sizeof(acc_int64l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5945|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == ACC_SIZEOF_ACC_INT64F_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5946|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5947|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint64f_t) >= sizeof(acc_uint64l_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5948|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int64f_t) == sizeof(acc_uint64f_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5949|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int64f_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5950|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0530))
  |  | 5951|       |#else
  |  | 5952|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint64f_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5953|  29.8k|#endif
  |  | 5954|  29.8k|#endif
  |  | 5955|  29.8k|#if !defined(__ACC_INTPTR_T_IS_POINTER)
  |  | 5956|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_intptr_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5957|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uintptr_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5958|  29.8k|#endif
  |  | 5959|  29.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) >= sizeof(void *))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5960|  29.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == ACC_SIZEOF_ACC_INTPTR_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5961|  29.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(acc_uintptr_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5962|  29.8k|#if defined(acc_word_t)
  |  | 5963|  29.8k|    ACCCHK_ASSERT(ACC_WORDSIZE == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5964|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_word_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5965|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_sword_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5966|  29.8k|    ACCCHK_ASSERT(sizeof(acc_word_t) == ACC_SIZEOF_ACC_WORD_T)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5967|  29.8k|    ACCCHK_ASSERT(sizeof(acc_word_t) == sizeof(acc_sword_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5968|  29.8k|#endif
  |  | 5969|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5970|  29.8k|    ACCCHK_ASSERT(sizeof(acc_uint8_t) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5971|  29.8k|    ACCCHK_ASSERT(sizeof(acc_int8_t) == sizeof(acc_uint8_t))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5972|  29.8k|    ACCCHK_ASSERT_IS_SIGNED_T(acc_int8_t)
  |  |  ------------------
  |  |  |  | 5584|  29.8k|#  define ACCCHK_ASSERT_IS_SIGNED_T(type)       ACCCHK_ASSERT_SIGN_T(type,<)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5973|  29.8k|    ACCCHK_ASSERT_IS_UNSIGNED_T(acc_uint8_t)
  |  |  ------------------
  |  |  |  | 5591|  29.8k|#    define ACCCHK_ASSERT_IS_UNSIGNED_T(type)   ACCCHK_ASSERT_SIGN_T(type,>)
  |  |  |  |  ------------------
  |  |  |  |  |  | 5579|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, -1)  relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5580|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) relop  ACC_STATIC_CAST(type, 0)) \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 5581|  29.8k|        ACCCHK_ASSERT( ACC_STATIC_CAST(type, ~ACC_STATIC_CAST(type, 0)) ==     ACC_STATIC_CAST(type, -1))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5974|  29.8k|#if defined(ACC_INT16_C)
  |  | 5975|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_INT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5976|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT16_C(0)) >= 2)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5977|  29.8k|    ACCCHK_ASSERT((ACC_UINT16_C(0xffff) >> 15) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5978|  29.8k|#endif
  |  | 5979|  29.8k|#if defined(ACC_INT32_C)
  |  | 5980|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_INT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5981|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT32_C(0)) >= 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5982|  29.8k|    ACCCHK_ASSERT((ACC_UINT32_C(0xffffffff) >> 31) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5983|  29.8k|#endif
  |  | 5984|  29.8k|#if defined(ACC_INT64_C)
  |  | 5985|       |#if (ACC_CC_BORLANDC && (__BORLANDC__ < 0x0560))
  |  | 5986|       |#else
  |  | 5987|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_INT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5988|  29.8k|    ACCCHK_ASSERT(sizeof(ACC_UINT64_C(0)) >= 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5989|  29.8k|#endif
  |  | 5990|  29.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) >> 63) == 1)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5991|  29.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0)  == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5992|  29.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & ~0l) == ACC_UINT64_C(0xffffffffffffffff))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5993|  29.8k|#if (ACC_SIZEOF_INT == 4)
  |  | 5994|       |# if (ACC_CC_GNUC && (ACC_CC_GNUC < 0x020000ul))
  |  | 5995|       |# else
  |  | 5996|  29.8k|    ACCCHK_ASSERT((ACC_UINT64_C(0xffffffffffffffff) & (~0u+0u)) == 0xffffffffu)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 5997|  29.8k|# endif
  |  | 5998|  29.8k|#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|  29.8k|#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|  29.8k|#if (ACC_ABI_LP64)
  |  | 6056|  29.8k|    ACCCHK_ASSERT(sizeof(int) == 4)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6057|  29.8k|    ACCCHK_ASSERT(sizeof(long) == 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6058|  29.8k|    ACCCHK_ASSERT(sizeof(void*) == 8)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6059|  29.8k|    ACCCHK_ASSERT(sizeof(ptrdiff_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6060|  29.8k|    ACCCHK_ASSERT(sizeof(size_t) == sizeof(void*))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6061|  29.8k|    ACCCHK_ASSERT(sizeof(acc_intptr_t) == sizeof(void *))
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6062|  29.8k|#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|  29.8k|    ACCCHK_ASSERT( ACC_STATIC_CAST(int, ACC_STATIC_CAST(unsigned char, ACC_STATIC_CAST(signed char, -1))) == 255)
  |  |  ------------------
  |  |  |  |  891|  29.8k|#define ACCCHK_ASSERT(expr) ACC_COMPILE_TIME_ASSERT(expr)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 6091|  29.8k|#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|  29.8k|#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: */
  ------------------
  893|  29.8k|#undef ACCCHK_ASSERT
  894|       |
  895|  29.8k|    static_assert(sizeof(char) == 1);
  896|  29.8k|    static_assert(sizeof(short) == 2);
  897|  29.8k|    static_assert(sizeof(int) == 4);
  898|  29.8k|    static_assert(sizeof(long) >= 4);
  899|  29.8k|    static_assert(sizeof(long long) >= 8);
  900|  29.8k|    static_assert(sizeof(void *) >= 4);
  901|  29.8k|    static_assert(sizeof(upx_off_t) >= 8);
  902|  29.8k|    static_assert(sizeof(upx_off_t) >= sizeof(long long));
  903|       |
  904|       |// __int64
  905|       |#if defined(_MSC_VER)
  906|       |    {
  907|       |        ASSERT_SAME_TYPE(long long, __int64);
  908|       |        ASSERT_SAME_TYPE(unsigned long long, unsigned __int64);
  909|       |        typedef __int64 my_int64;
  910|       |        typedef unsigned __int64 my_uint64;
  911|       |        ASSERT_SAME_TYPE(long long, my_int64);
  912|       |        ASSERT_SAME_TYPE(unsigned long long, my_uint64);
  913|       |    }
  914|       |#endif
  915|       |
  916|  29.8k|    static_assert(sizeof(BE16) == 2);
  917|  29.8k|    static_assert(sizeof(BE32) == 4);
  918|  29.8k|    static_assert(sizeof(BE64) == 8);
  919|  29.8k|    static_assert(sizeof(LE16) == 2);
  920|  29.8k|    static_assert(sizeof(LE32) == 4);
  921|  29.8k|    static_assert(sizeof(LE64) == 8);
  922|       |
  923|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE16)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  924|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE32)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  925|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(BE64)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  926|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE16)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  927|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE32)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  928|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(LE64)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  929|       |
  930|       |    // check that these types are not some multi-word macro
  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  932|  29.8k|    CHECK_TYPE(int8_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  933|  29.8k|    CHECK_TYPE(uint8_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  934|  29.8k|    CHECK_TYPE(int16_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  935|  29.8k|    CHECK_TYPE(uint16_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  936|  29.8k|    CHECK_TYPE(int32_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  937|  29.8k|    CHECK_TYPE(uint32_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  938|  29.8k|    CHECK_TYPE(int64_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  939|  29.8k|    CHECK_TYPE(uint64_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  940|  29.8k|    CHECK_TYPE(intmax_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  941|  29.8k|    CHECK_TYPE(uintmax_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  942|  29.8k|    CHECK_TYPE(ptrdiff_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  943|  29.8k|    CHECK_TYPE(size_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  944|  29.8k|    CHECK_TYPE(intptr_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  945|  29.8k|    CHECK_TYPE(uintptr_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  946|       |#if 0
  947|       |    CHECK_TYPE(acc_int8_t);
  948|       |    CHECK_TYPE(acc_uint8_t);
  949|       |    CHECK_TYPE(acc_int16_t);
  950|       |    CHECK_TYPE(acc_uint16_t);
  951|       |    CHECK_TYPE(acc_int32_t);
  952|       |    CHECK_TYPE(acc_uint32_t);
  953|       |    CHECK_TYPE(acc_int64_t);
  954|       |    CHECK_TYPE(acc_uint64_t);
  955|       |    CHECK_TYPE(acc_intptr_t);
  956|       |    CHECK_TYPE(acc_uintptr_t);
  957|       |#endif
  958|  29.8k|    CHECK_TYPE(upx_int8_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  959|  29.8k|    CHECK_TYPE(upx_uint8_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  960|  29.8k|    CHECK_TYPE(upx_int16_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  961|  29.8k|    CHECK_TYPE(upx_uint16_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  962|  29.8k|    CHECK_TYPE(upx_int32_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  963|  29.8k|    CHECK_TYPE(upx_uint32_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  964|  29.8k|    CHECK_TYPE(upx_int64_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  965|  29.8k|    CHECK_TYPE(upx_uint64_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  966|  29.8k|#if (__SIZEOF_INT128__ == 16)
  967|  29.8k|    CHECK_TYPE(upx_int128_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  968|  29.8k|    CHECK_TYPE(upx_uint128_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  969|  29.8k|#endif
  970|  29.8k|    CHECK_TYPE(upx_off_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  971|  29.8k|    CHECK_TYPE(upx_uptrdiff_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  972|  29.8k|    CHECK_TYPE(upx_ssize_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  973|  29.8k|    CHECK_TYPE(upx_ptraddr_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  974|  29.8k|    CHECK_TYPE(upx_uintptr_t);
  ------------------
  |  |  931|  29.8k|#define CHECK_TYPE(T) (void) (T())
  ------------------
  975|  29.8k|#undef CHECK_TYPE
  976|       |
  977|  29.8k|    CheckIntegral<char>::check();
  978|  29.8k|    CheckIntegral<signed char>::check();
  979|  29.8k|    CheckIntegral<unsigned char>::check();
  980|  29.8k|    CheckIntegral<short>::check();
  981|  29.8k|    CheckIntegral<unsigned short>::check();
  982|  29.8k|    CheckIntegral<int>::check();
  983|  29.8k|    CheckIntegral<unsigned>::check();
  984|  29.8k|    CheckIntegral<long>::check();
  985|  29.8k|    CheckIntegral<unsigned long>::check();
  986|  29.8k|    CheckIntegral<long long>::check();
  987|  29.8k|    CheckIntegral<unsigned long long>::check();
  988|  29.8k|    CheckIntegral<intmax_t>::check();
  989|  29.8k|    CheckIntegral<uintmax_t>::check();
  990|  29.8k|    CheckIntegral<upx_int8_t>::check();
  991|  29.8k|    CheckIntegral<upx_uint8_t>::check();
  992|  29.8k|    CheckIntegral<upx_int16_t>::check();
  993|  29.8k|    CheckIntegral<upx_uint16_t>::check();
  994|  29.8k|    CheckIntegral<upx_int32_t>::check();
  995|  29.8k|    CheckIntegral<upx_uint32_t>::check();
  996|  29.8k|    CheckIntegral<upx_int64_t>::check();
  997|  29.8k|    CheckIntegral<upx_uint64_t>::check();
  998|  29.8k|#if (__SIZEOF_INT128__ == 16)
  999|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1000|       |#else
 1001|  29.8k|    CheckIntegral<upx_int128_t>::check();
 1002|  29.8k|    CheckIntegral<upx_uint128_t>::check();
 1003|  29.8k|#endif
 1004|  29.8k|#endif
 1005|  29.8k|    CheckIntegral<upx_off_t>::check();
 1006|  29.8k|    CheckIntegral<ptrdiff_t>::check();
 1007|  29.8k|    CheckIntegral<upx_uptrdiff_t>::check();
 1008|  29.8k|    CheckIntegral<upx_ssize_t>::check();
 1009|  29.8k|    CheckIntegral<size_t>::check();
 1010|  29.8k|    CheckIntegral<upx_ptraddr_t>::check();
 1011|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
 1012|       |    static_assert(sizeof(upx_ptraddr_t) == 8);
 1013|       |    static_assert(alignof(upx_ptraddr_t) == 8);
 1014|       |    static_assert(sizeof(void *) == 16);
 1015|       |    static_assert(alignof(void *) == 16);
 1016|       |    static_assert(sizeof(uintptr_t) == 16);
 1017|       |    static_assert(alignof(uintptr_t) == 16);
 1018|       |    // warning: binary expression on capability types 'unsigned __intcap' and 'unsigned __intcap'
 1019|       |    CheckIntegral<intptr_t>::check_core();
 1020|       |    CheckIntegral<uintptr_t>::check_core();
 1021|       |    CheckIntegral<upx_uintptr_t>::check_core();
 1022|       |#else
 1023|  29.8k|    CheckIntegral<intptr_t>::check();
 1024|  29.8k|    CheckIntegral<uintptr_t>::check();
 1025|  29.8k|    CheckIntegral<upx_uintptr_t>::check();
 1026|  29.8k|#endif
 1027|       |
 1028|  29.8k|    CheckSignedness<char, false>::check(); // -funsigned-char
 1029|  29.8k|    CheckSignedness<signed char, true>::check();
 1030|  29.8k|    CheckSignedness<unsigned char, false>::check();
 1031|  29.8k|    CheckSignedness<short, true>::check();
 1032|  29.8k|    CheckSignedness<unsigned short, false>::check();
 1033|  29.8k|    CheckSignedness<int, true>::check();
 1034|  29.8k|    CheckSignedness<unsigned, false>::check();
 1035|  29.8k|    CheckSignedness<long, true>::check();
 1036|  29.8k|    CheckSignedness<unsigned long, false>::check();
 1037|  29.8k|    CheckSignedness<long long, true>::check();
 1038|  29.8k|    CheckSignedness<unsigned long long, false>::check();
 1039|  29.8k|    CheckSignedness<intmax_t, true>::check();
 1040|  29.8k|    CheckSignedness<uintmax_t, false>::check();
 1041|  29.8k|    CheckSignedness<upx_int8_t, true>::check();
 1042|  29.8k|    CheckSignedness<upx_uint8_t, false>::check();
 1043|  29.8k|    CheckSignedness<upx_int16_t, true>::check();
 1044|  29.8k|    CheckSignedness<upx_uint16_t, false>::check();
 1045|  29.8k|    CheckSignedness<upx_int32_t, true>::check();
 1046|  29.8k|    CheckSignedness<upx_uint32_t, false>::check();
 1047|  29.8k|    CheckSignedness<upx_int64_t, true>::check();
 1048|  29.8k|    CheckSignedness<upx_uint64_t, false>::check();
 1049|  29.8k|#if (__SIZEOF_INT128__ == 16)
 1050|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1051|       |#else
 1052|  29.8k|    CheckSignedness<upx_int128_t, true>::check();
 1053|  29.8k|    CheckSignedness<upx_uint128_t, false>::check();
 1054|  29.8k|#endif
 1055|  29.8k|#endif
 1056|  29.8k|    CheckSignedness<upx_off_t, true>::check();
 1057|  29.8k|    CheckSignedness<ptrdiff_t, true>::check();
 1058|  29.8k|    CheckSignedness<upx_uptrdiff_t, false>::check();
 1059|  29.8k|    CheckSignedness<upx_ssize_t, true>::check();
 1060|  29.8k|    CheckSignedness<size_t, false>::check();
 1061|  29.8k|    CheckSignedness<upx_ptraddr_t, false>::check();
 1062|  29.8k|    CheckSignedness<intptr_t, true>::check();
 1063|  29.8k|    CheckSignedness<uintptr_t, false>::check();
 1064|  29.8k|    CheckSignedness<upx_uintptr_t, false>::check();
 1065|       |
 1066|  29.8k|#define CHECK_TYPE_PAIR(A, B)                                                                      \
 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
 1069|  29.8k|    CHECK_TYPE_PAIR(signed char, unsigned char);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1070|  29.8k|    CHECK_TYPE_PAIR(short, unsigned short);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1071|  29.8k|    CHECK_TYPE_PAIR(int, unsigned);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1072|  29.8k|    CHECK_TYPE_PAIR(long, unsigned long);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1073|  29.8k|    CHECK_TYPE_PAIR(long long, unsigned long long);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1074|  29.8k|    CHECK_TYPE_PAIR(intmax_t, uintmax_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1075|  29.8k|    CHECK_TYPE_PAIR(upx_int8_t, upx_uint8_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1076|  29.8k|    CHECK_TYPE_PAIR(upx_int16_t, upx_uint16_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1077|  29.8k|    CHECK_TYPE_PAIR(upx_int32_t, upx_uint32_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1078|  29.8k|    CHECK_TYPE_PAIR(upx_int64_t, upx_uint64_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1079|  29.8k|#if (__SIZEOF_INT128__ == 16)
 1080|       |#if defined(_CPP_VER) || defined(_WIN32) // int128 is not fully supported by MSVC libstdc++ yet
 1081|       |#else
 1082|  29.8k|    CHECK_TYPE_PAIR(upx_int128_t, upx_uint128_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1083|  29.8k|#endif
 1084|  29.8k|#endif
 1085|  29.8k|    CHECK_TYPE_PAIR(ptrdiff_t, upx_uptrdiff_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1086|  29.8k|    CHECK_TYPE_PAIR(upx_ssize_t, size_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1087|  29.8k|    CHECK_TYPE_PAIR(upx_sptraddr_t, upx_ptraddr_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1088|  29.8k|    CHECK_TYPE_PAIR(intptr_t, uintptr_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1089|  29.8k|    CHECK_TYPE_PAIR(acc_intptr_t, acc_uintptr_t);
  ------------------
  |  | 1067|  29.8k|    CheckTypePair<A, B>::check();                                                                  \
  |  | 1068|  29.8k|    static_assert(alignof(A) == alignof(B))
  ------------------
 1090|  29.8k|#undef CHECK_TYPE_PAIR
 1091|       |
 1092|  29.8k|    static_assert(sizeof(upx_charptr_unit_type) == 1);
 1093|  29.8k|    COMPILE_TIME_ASSERT_ALIGNED1(upx_charptr_unit_type)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1094|  29.8k|    static_assert(sizeof(*((charptr) nullptr)) == 1);
 1095|       |
 1096|       |    // check UPX_VERSION_xxx
 1097|  29.8k|    {
 1098|  29.8k|        using upx::compile_time::mem_eq;
 1099|  29.8k|        using upx::compile_time::string_len;
 1100|  29.8k|        static_assert(string_len(UPX_VERSION_STRING4) == 4);
 1101|  29.8k|        static_assert(string_len(UPX_VERSION_YEAR) == 4);
 1102|  29.8k|        static_assert(string_len(UPX_VERSION_DATE_ISO) == 10);
 1103|  29.8k|        static_assert(string_len(UPX_VERSION_DATE) == 12 || string_len(UPX_VERSION_DATE) == 13);
 1104|  29.8k|        static_assert(mem_eq(UPX_VERSION_STRING4, UPX_VERSION_STRING, 3));
 1105|  29.8k|        static_assert(mem_eq(UPX_VERSION_YEAR, UPX_VERSION_DATE_ISO, 4));
 1106|  29.8k|        static_assert(mem_eq(UPX_VERSION_YEAR, &UPX_VERSION_DATE[sizeof(UPX_VERSION_DATE) - 5], 4));
 1107|  29.8k|        char buf[64];
 1108|  29.8k|        constexpr long long v = UPX_VERSION_HEX;
  ------------------
  |  |    2|  29.8k|#define UPX_VERSION_HEX      0x050201 /* 05.02.01 */
  ------------------
 1109|  29.8k|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld.%lld", (v >> 16), (v >> 8) & 255,
 1110|  29.8k|                                   v & 255);
 1111|  29.8k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1112|      0|        upx_safe_snprintf_noexcept(buf, sizeof(buf), "%lld.%lld%lld", (v >> 16), (v >> 8) & 255,
 1113|  29.8k|                                   v & 255);
 1114|  29.8k|        assert_noexcept(strcmp(buf, UPX_VERSION_STRING4) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1115|  29.8k|    }
 1116|       |
 1117|  29.8k|    if (gitrev[0]) {
  ------------------
  |  Branch (1117:9): [True: 29.8k, False: 0]
  ------------------
 1118|  29.8k|        size_t revlen = strlen(gitrev);
  ------------------
  |  |   70|  29.8k|#define strlen upx_safe_strlen
  ------------------
 1119|  29.8k|        if (strncmp(gitrev, "ERROR", 5) == 0) {
  ------------------
  |  Branch (1119:13): [True: 0, False: 29.8k]
  ------------------
 1120|      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]
  |  |  ------------------
  ------------------
 1121|  29.8k|        } else {
 1122|  29.8k|            assert_noexcept(revlen == 12 || revlen == 13);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1123|  29.8k|        }
 1124|  29.8k|        if (revlen == 6 || revlen == 13) {
  ------------------
  |  Branch (1124:13): [True: 0, False: 29.8k]
  |  Branch (1124:28): [True: 29.8k, False: 0]
  ------------------
 1125|  29.8k|            assert_noexcept(gitrev[revlen - 1] == '+');
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1126|  29.8k|        }
 1127|  29.8k|    }
 1128|  29.8k|    assert_noexcept(UPX_RSIZE_MAX_MEM == 805306368);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1129|       |
 1130|  29.8k|#if DEBUG || 1
 1131|  29.8k|    assert_noexcept(TestBELE<LE16>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1132|  29.8k|    assert_noexcept(TestBELE<LE32>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1133|  29.8k|    assert_noexcept(TestBELE<LE64>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1134|  29.8k|    assert_noexcept(TestBELE<BE16>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1135|  29.8k|    assert_noexcept(TestBELE<BE32>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1136|  29.8k|    assert_noexcept(TestBELE<BE64>::test());
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1137|      0|    {
 1138|  29.8k|        alignas(16) static constexpr const byte dd[32] = {
 1139|  29.8k|            0, 0, 0, 0,    0,    0,    0,    0xff, 0xfe, 0xfd, 0xfc, 0xfb, 0xfa, 0xf9, 0xf8, 0,
 1140|  29.8k|            0, 0, 0, 0x7f, 0x7e, 0x7d, 0x7c, 0x7b, 0x7a, 0x79, 0x78, 0,    0,    0,    0,    0};
 1141|  29.8k|#if !defined(upx_fake_alignas_16)
 1142|  29.8k|        assert_noexcept(ptr_is_aligned<16>(dd));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1143|  29.8k|        assert_noexcept(ptr_is_aligned(dd, 16));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1144|      0|#endif
 1145|      0|        constexpr const byte *d = dd + 7;
 1146|  29.8k|        static_assert(upx::compile_time::get_be16(d) == 0xfffe);
 1147|  29.8k|        static_assert(upx::compile_time::get_be24(d) == 0xfffefd);
 1148|  29.8k|        static_assert(upx::compile_time::get_be32(d) == 0xfffefdfc);
 1149|  29.8k|        static_assert(upx::compile_time::get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1150|  29.8k|        static_assert(upx::compile_time::get_le16(d) == 0xfeff);
 1151|  29.8k|        static_assert(upx::compile_time::get_le24(d) == 0xfdfeff);
 1152|  29.8k|        static_assert(upx::compile_time::get_le32(d) == 0xfcfdfeff);
 1153|  29.8k|        static_assert(upx::compile_time::get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1154|  29.8k|        assert_noexcept(upx_adler32(d, 4) == 0x09f003f7);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1155|  29.8k|        assert_noexcept(upx_adler32(d, 4, 0) == 0x09ec03f6);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1156|  29.8k|        assert_noexcept(upx_adler32(d, 4, 1) == 0x09f003f7);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1157|      0|        const N_BELE_RTP::AbstractPolicy *bele;
 1158|  29.8k|        bele = &N_BELE_RTP::be_policy;
 1159|  29.8k|        assert_noexcept(get_be16(d) == 0xfffe);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1160|  29.8k|        assert_noexcept(bele->get16(d) == 0xfffe);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1161|  29.8k|        assert_noexcept(get_be16_signed(d) == -2);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1162|  29.8k|        assert_noexcept(bele->get16_signed(d) == -2);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1163|  29.8k|        assert_noexcept(get_be24(d) == 0xfffefd);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1164|  29.8k|        assert_noexcept(bele->get24(d) == 0xfffefd);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1165|  29.8k|        assert_noexcept(get_be24_signed(d) == -259);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1166|  29.8k|        assert_noexcept(bele->get24_signed(d) == -259);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1167|  29.8k|        assert_noexcept(get_be32(d) == 0xfffefdfc);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1168|  29.8k|        assert_noexcept(bele->get32(d) == 0xfffefdfc);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1169|  29.8k|        assert_noexcept(get_be32_signed(d) == -66052);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1170|  29.8k|        assert_noexcept(bele->get32_signed(d) == -66052);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1171|  29.8k|        assert_noexcept(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1172|  29.8k|        assert_noexcept(bele->get64(d) == 0xfffefdfcfbfaf9f8ULL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1173|  29.8k|        assert_noexcept(get_be64_signed(d) == -283686952306184LL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1174|  29.8k|        assert_noexcept(bele->get64_signed(d) == -283686952306184LL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1175|      0|        bele = &N_BELE_RTP::le_policy;
 1176|  29.8k|        assert_noexcept(get_le16(d) == 0xfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1177|  29.8k|        assert_noexcept(bele->get16(d) == 0xfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1178|  29.8k|        assert_noexcept(get_le16_signed(d) == -257);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1179|  29.8k|        assert_noexcept(bele->get16_signed(d) == -257);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1180|  29.8k|        assert_noexcept(get_le24(d) == 0xfdfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1181|  29.8k|        assert_noexcept(bele->get24(d) == 0xfdfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1182|  29.8k|        assert_noexcept(get_le24_signed(d) == -131329);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1183|  29.8k|        assert_noexcept(bele->get24_signed(d) == -131329);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1184|  29.8k|        assert_noexcept(get_le32(d) == 0xfcfdfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1185|  29.8k|        assert_noexcept(bele->get32(d) == 0xfcfdfeff);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1186|  29.8k|        assert_noexcept(get_le32_signed(d) == -50462977);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1187|  29.8k|        assert_noexcept(bele->get32_signed(d) == -50462977);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1188|  29.8k|        assert_noexcept(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1189|  29.8k|        assert_noexcept(bele->get64(d) == 0xf8f9fafbfcfdfeffULL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1190|  29.8k|        assert_noexcept(get_le64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1191|  29.8k|        assert_noexcept(bele->get64_signed(d) == -506097522914230529LL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1192|      0|        static_assert(get_be24(d) == 0xfffefd);
 1193|  29.8k|        static_assert(get_le24(d) == 0xfdfeff);
 1194|  29.8k|#if defined(upx_is_constant_evaluated)
 1195|  29.8k|        static_assert(get_be24_signed(d) == -259);
 1196|  29.8k|        static_assert(get_le24_signed(d) == -131329);
 1197|  29.8k|        static_assert(get_be16(d) == 0xfffe);
 1198|  29.8k|        static_assert(get_be16_signed(d) == -2);
 1199|  29.8k|        static_assert(get_be32(d) == 0xfffefdfc);
 1200|  29.8k|        static_assert(get_be32_signed(d) == -66052);
 1201|  29.8k|        static_assert(get_be64(d) == 0xfffefdfcfbfaf9f8ULL);
 1202|  29.8k|        static_assert(get_be64_signed(d) == -283686952306184LL);
 1203|  29.8k|        static_assert(get_le16(d) == 0xfeff);
 1204|  29.8k|        static_assert(get_le16_signed(d) == -257);
 1205|  29.8k|        static_assert(get_le32(d) == 0xfcfdfeff);
 1206|  29.8k|        static_assert(get_le32_signed(d) == -50462977);
 1207|  29.8k|        static_assert(get_le64(d) == 0xf8f9fafbfcfdfeffULL);
 1208|  29.8k|        static_assert(get_le64_signed(d) == -506097522914230529LL);
 1209|  29.8k|#endif
 1210|  29.8k|        assert_noexcept(find_be16(d, 2, 0xfffe) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1211|  29.8k|        assert_noexcept(find_le16(d, 2, 0xfeff) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1212|  29.8k|        assert_noexcept(find_be32(d, 4, 0xfffefdfc) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1213|  29.8k|        assert_noexcept(find_le32(d, 4, 0xfcfdfeff) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1214|      0|        constexpr const byte *e = d + 12;
 1215|  29.8k|        assert_noexcept(get_be16_signed(e) == 32638);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1216|  29.8k|        assert_noexcept(get_be24_signed(e) == 8355453);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1217|  29.8k|        assert_noexcept(get_be32_signed(e) == 2138996092);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1218|  29.8k|        assert_noexcept(get_be64_signed(e) == 9186918263483431288LL);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1219|      0|#if defined(upx_is_constant_evaluated)
 1220|      0|        static_assert(get_be16_signed(e) == 32638);
 1221|  29.8k|        static_assert(get_be24_signed(e) == 8355453);
 1222|  29.8k|        static_assert(get_be32_signed(e) == 2138996092);
 1223|  29.8k|        static_assert(get_be64_signed(e) == 9186918263483431288LL);
 1224|  29.8k|#endif
 1225|  29.8k|    }
 1226|      0|#if defined(upx_is_constant_evaluated)
 1227|      0|    {
 1228|  29.8k|        constexpr upx_uint16_t v16 = 0x0201;
 1229|  29.8k|        constexpr upx_uint32_t v32 = 0x04030201;
 1230|  29.8k|        constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1231|  29.8k|        constexpr BE16 be16 = BE16::make(v16);
 1232|  29.8k|        constexpr BE32 be32 = BE32::make(v32);
 1233|  29.8k|        constexpr BE64 be64 = BE64::make(v64);
 1234|  29.8k|        constexpr LE16 le16 = LE16::make(v16);
 1235|  29.8k|        constexpr LE32 le32 = LE32::make(v32);
 1236|  29.8k|        constexpr LE64 le64 = LE64::make(v64);
 1237|  29.8k|        using upx::compile_time::mem_eq;
 1238|  29.8k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1239|  29.8k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1240|  29.8k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1241|  29.8k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1242|  29.8k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1243|  29.8k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1244|  29.8k|        constexpr NE16 ne16 = NE16::make(v16);
 1245|  29.8k|        constexpr NE32 ne32 = NE32::make(v32);
 1246|  29.8k|        constexpr NE64 ne64 = NE64::make(v64);
 1247|  29.8k|        assert_noexcept(memcmp(&v16, ne16.d, 2) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1248|  29.8k|        assert_noexcept(memcmp(&v32, ne32.d, 4) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1249|  29.8k|        assert_noexcept(memcmp(&v64, ne64.d, 8) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1250|  29.8k|    }
 1251|      0|#endif
 1252|       |#if DEBUG >= 1
 1253|       |    {
 1254|       |        for (int i = -256; i < 256; i++) {
 1255|       |            {
 1256|       |                const unsigned u = i;
 1257|       |                assert_noexcept(sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
 1258|       |                assert_noexcept(sign_extend32(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1259|       |                assert_noexcept(sign_extend32(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1260|       |                assert_noexcept(sign_extend32(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1261|       |                assert_noexcept(sign_extend32(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1262|       |                assert_noexcept(sign_extend32(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1263|       |                assert_noexcept(sign_extend32(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1264|       |                assert_noexcept(sign_extend32(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1265|       |                assert_noexcept(sign_extend32(u, 9) == i);
 1266|       |                assert_noexcept(sign_extend32(u, 32) == i);
 1267|       |                assert_noexcept(sign_extend32(0u - u, 32) == -i);
 1268|       |            }
 1269|       |            {
 1270|       |                const upx_uint64_t u = i;
 1271|       |                assert_noexcept(sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
 1272|       |                assert_noexcept(sign_extend64(u, 2) == ((i & 2) ? -2 + (i & 1) : (i & 1)));
 1273|       |                assert_noexcept(sign_extend64(u, 3) == ((i & 4) ? -4 + (i & 3) : (i & 3)));
 1274|       |                assert_noexcept(sign_extend64(u, 4) == ((i & 8) ? -8 + (i & 7) : (i & 7)));
 1275|       |                assert_noexcept(sign_extend64(u, 5) == ((i & 16) ? -16 + (i & 15) : (i & 15)));
 1276|       |                assert_noexcept(sign_extend64(u, 6) == ((i & 32) ? -32 + (i & 31) : (i & 31)));
 1277|       |                assert_noexcept(sign_extend64(u, 7) == ((i & 64) ? -64 + (i & 63) : (i & 63)));
 1278|       |                assert_noexcept(sign_extend64(u, 8) == ((i & 128) ? -128 + (i & 127) : (i & 127)));
 1279|       |                assert_noexcept(sign_extend64(u, 9) == i);
 1280|       |                assert_noexcept(sign_extend64(u, 32) == i);
 1281|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 32) == -i);
 1282|       |                assert_noexcept(sign_extend64(u, 64) == i);
 1283|       |                assert_noexcept(sign_extend64(upx_uint64_t(0) - u, 64) == -i);
 1284|       |            }
 1285|       |        }
 1286|       |    }
 1287|       |#endif
 1288|      0|    {
 1289|  29.8k|        unsigned dd;
 1290|  29.8k|        void *const d = &dd;
 1291|  29.8k|        dd = ne32_to_le32(0xf7f6f5f4);
  ------------------
  |  |  293|  29.8k|#define ne32_to_le32(v) no_bswap32(v)
  ------------------
 1292|  29.8k|        assert_noexcept(get_le26(d) == 0x03f6f5f4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1293|      0|        set_le26(d, 0);
 1294|  29.8k|        assert_noexcept(get_le26(d) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1295|  29.8k|        assert_noexcept(dd == ne32_to_le32(0xf4000000));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1296|      0|        set_le26(d, 0xff020304);
 1297|  29.8k|        assert_noexcept(get_le26(d) == 0x03020304);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1298|  29.8k|        assert_noexcept(dd == ne32_to_le32(0xf7020304));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1299|  29.8k|    }
 1300|      0|    {
 1301|  29.8k|        upx_uint16_t a = 0;
 1302|  29.8k|        upx_uint32_t b = 0;
 1303|  29.8k|        upx_uint64_t c = 0;
 1304|  29.8k|        set_ne16(&a, 0x04030201); // ignore upper bits
 1305|  29.8k|        set_ne32(&b, 0x04030201);
 1306|  29.8k|        set_ne64(&c, 0x0807060504030201ull);
 1307|  29.8k|        assert_noexcept(a == 0x0201);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1308|  29.8k|        assert_noexcept(b == 0x04030201);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1309|  29.8k|        assert_noexcept(c == 0x0807060504030201ull);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1310|  29.8k|        assert_noexcept(get_ne16(&a) == 0x0201);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1311|  29.8k|        assert_noexcept(get_ne32(&b) == 0x04030201);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1312|  29.8k|        assert_noexcept(get_ne64(&c) == 0x0807060504030201ull);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1313|  29.8k|    }
 1314|      0|#endif // DEBUG
 1315|      0|    union {
 1316|  29.8k|        short v_short;
 1317|  29.8k|        int v_int;
 1318|  29.8k|        long v_long;
 1319|  29.8k|        long long v_llong;
 1320|  29.8k|        BE16 b16;
 1321|  29.8k|        BE32 b32;
 1322|  29.8k|        BE64 b64;
 1323|  29.8k|        LE16 l16;
 1324|  29.8k|        LE32 l32;
 1325|  29.8k|        LE64 l64;
 1326|  29.8k|    } u;
 1327|  29.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.b32));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1328|  29.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.l32));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1329|  29.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.b64));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1330|  29.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.l64));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1331|       |    // check working -fno-strict-aliasing
 1332|  29.8k|    assert_noexcept(testNoAliasing(&u.v_short, &u.v_int));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1333|  29.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_long));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1334|  29.8k|    assert_noexcept(testNoAliasing(&u.v_int, &u.v_llong));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1335|  29.8k|    assert_noexcept(testNoAliasing(&u.v_long, &u.v_llong));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1336|       |
 1337|       |#if 1 && (ACC_CC_MSC) && (defined(_M_ARM64) || defined(_M_ARM64EC))
 1338|       |    // @COMPILER_BUG @MSVC_BUG
 1339|       |#else
 1340|  29.8k|    assert_noexcept(TestIntegerWrap<unsigned>::inc_gt(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1341|  29.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::inc_gt(UINT_MAX));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1342|  29.8k|    assert_noexcept(TestIntegerWrap<unsigned>::dec_lt(1));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1343|  29.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::dec_lt(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1344|  29.8k|    assert_noexcept(TestIntegerWrap<unsigned>::neg_eq(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1345|  29.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(1));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1346|  29.8k|    assert_noexcept(!TestIntegerWrap<unsigned>::neg_eq(UINT_MAX));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1347|       |    // check working -fno-strict-overflow
 1348|  29.8k|    assert_noexcept(TestIntegerWrap<int>::inc_gt(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1349|  29.8k|    assert_noexcept(!TestIntegerWrap<int>::inc_gt(INT_MAX));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1350|  29.8k|    assert_noexcept(TestIntegerWrap<int>::dec_lt(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1351|  29.8k|    assert_noexcept(!TestIntegerWrap<int>::dec_lt(INT_MIN));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1352|  29.8k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(0));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1353|  29.8k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(1));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1354|  29.8k|    assert_noexcept(!TestIntegerWrap<int>::neg_eq(INT_MAX));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1355|  29.8k|    assert_noexcept(TestIntegerWrap<int>::neg_eq(INT_MIN)); // special case
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1356|  29.8k|#endif
 1357|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_126check_basic_floating_pointEv:
  840|  29.8k|static noinline void check_basic_floating_point() noexcept {
  841|  29.8k|    assert_noexcept(i64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  842|  29.8k|    assert_noexcept(u64_f32_add_div(1000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  843|  29.8k|    assert_noexcept(i64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  844|  29.8k|    assert_noexcept(u64_f32_sub_div(3000000, 1000000) == 2.0f);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  845|  29.8k|    assert_noexcept(i64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  846|  29.8k|    assert_noexcept(u64_f64_add_div(1000000, 1000000) == 2.0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  847|  29.8k|    assert_noexcept(i64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  848|  29.8k|    assert_noexcept(u64_f64_sub_div(3000000, 1000000) == 2.0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  849|      0|    TestFloat<upx_int32_t, float>::test();
  850|  29.8k|    TestFloat<upx_uint32_t, float>::test();
  851|  29.8k|    TestFloat<upx_int64_t, float>::test();
  852|  29.8k|    TestFloat<upx_uint64_t, float>::test();
  853|  29.8k|    TestFloat<upx_int32_t, double>::test();
  854|  29.8k|    TestFloat<upx_uint32_t, double>::test();
  855|  29.8k|    TestFloat<upx_int64_t, double>::test();
  856|  29.8k|    TestFloat<upx_uint64_t, double>::test();
  857|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_add_divExx:
  785|  29.8k|static noinline float i64_f32_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  786|  29.8k|    return (a + b) / 1000000.0f;
  787|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_add_divEyy:
  788|  29.8k|static noinline float u64_f32_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  789|  29.8k|    return (a + b) / 1000000.0f;
  790|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f32_sub_divExx:
  791|  29.8k|static noinline float i64_f32_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  792|  29.8k|    return (a - b) / 1000000.0f;
  793|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f32_sub_divEyy:
  794|  29.8k|static noinline float u64_f32_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  795|  29.8k|    return (a - b) / 1000000.0f;
  796|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_add_divExx:
  798|  29.8k|static noinline double i64_f64_add_div(upx_int64_t a, upx_int64_t b) noexcept {
  799|  29.8k|    return (a + b) / 1000000.0;
  800|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_add_divEyy:
  801|  29.8k|static noinline double u64_f64_add_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  802|  29.8k|    return (a + b) / 1000000.0;
  803|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115i64_f64_sub_divExx:
  804|  29.8k|static noinline double i64_f64_sub_div(upx_int64_t a, upx_int64_t b) noexcept {
  805|  29.8k|    return (a - b) / 1000000.0;
  806|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_115u64_f64_sub_divEyy:
  807|  29.8k|static noinline double u64_f64_sub_div(upx_uint64_t a, upx_uint64_t b) noexcept {
  808|  29.8k|    return (a - b) / 1000000.0;
  809|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE3divEif:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIifE7add_divEiif:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE3divEjf:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjfE7add_divEjjf:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE3divExf:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxfE7add_divExxf:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE3divEyf:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIyfE7add_divEyyf:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE3divEid:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIidE7add_divEiid:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE3divEjd:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIjdE7add_divEjjd:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE3divExd:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIxdE7add_divExxd:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    static noinline Float sub_div_x(Int a, Int b) noexcept { return Float(a - b) / Float(X); }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE4testEv:
  819|  29.8k|    static noinline void test() noexcept {
  820|  29.8k|        assert_noexcept(div(2 * X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  821|  29.8k|        assert_noexcept(add_div(X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  822|  29.8k|        assert_noexcept(add_div_x(X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  823|  29.8k|        assert_noexcept(sub_div(3 * X, X, Float(X)) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  824|  29.8k|        assert_noexcept(sub_div_x(3 * X, X) == Float(2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  825|       |        // extra debugging; floating point edge cases cause portability problems in practice
  826|      0|        static const char envvar[] = "UPX_DEBUG_TEST_FLOAT_DIVISION_BY_ZERO";
  827|  29.8k|        if (is_envvar_true(envvar)) {
  ------------------
  |  Branch (827:13): [True: 0, False: 29.8k]
  ------------------
  828|       |#if defined(__FAST_MATH__)
  829|       |            // warning: comparison with NaN always evaluates to false in fast floating point modes
  830|       |            fprintf(stderr, "upx: WARNING: ignoring %s: __FAST_MATH__\n", envvar);
  831|       |#else
  832|      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]
  |  |  ------------------
  ------------------
  833|      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]
  |  |  ------------------
  ------------------
  834|      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]
  |  |  ------------------
  ------------------
  835|      0|#endif
  836|      0|        }
  837|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE3divEyd:
  814|  29.8k|    static noinline Float div(Int a, Float f) noexcept { return a / f; }
dt_check.cpp:_ZN12_GLOBAL__N_19TestFloatIydE7add_divEyyd:
  815|  29.8k|    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:
  817|  29.8k|    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:
  816|  29.8k|    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:
  818|  29.8k|    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:
  767|  29.8k|static noinline void check_basic_cxx_exception_handling(void (*func)(int)) noexcept {
  768|  29.8k|    bool cxx_exception_handling_works = false;
  769|  29.8k|    int x = 1;
  770|  29.8k|    try {
  771|  29.8k|        TestDestructor d(&x, 3);
  772|  29.8k|        check_exceptions_2(func, &x);
  773|  29.8k|    } catch (const size_t &e) {
  774|  29.8k|        if (e == 1 && x == 23)
  ------------------
  |  Branch (774:13): [True: 29.8k, False: 0]
  |  Branch (774:23): [True: 29.8k, False: 0]
  ------------------
  775|  29.8k|            cxx_exception_handling_works = true;
  776|  29.8k|    } catch (...) {
  777|      0|    }
  778|  29.8k|    assert_noexcept(cxx_exception_handling_works);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  779|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorC2EPii:
  749|  59.6k|    explicit TestDestructor(int *pp, int vv) noexcept : p(pp), v(vv) {}
dt_check.cpp:_ZN12_GLOBAL__N_118check_exceptions_2EPFviEPi:
  762|  29.8k|static noinline void check_exceptions_2(void (*func)(int), int *x) may_throw {
  763|  29.8k|    TestDestructor d(x, *x);
  764|  29.8k|    func(*x);
  765|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_114TestDestructorD2Ev:
  750|  59.6k|    virtual noinline ~TestDestructor() noexcept { *p = (*p << 2) + v; }
dt_check.cpp:_ZN12_GLOBAL__N_114throwSomeValueEi:
  755|  29.8k|static noinline void throwSomeValue(int x) may_throw {
  756|  29.8k|    if (x < 0)
  ------------------
  |  Branch (756:9): [True: 0, False: 29.8k]
  ------------------
  757|      0|        throw int(x);
  758|  29.8k|    else
  759|  29.8k|        throw size_t(x);
  760|  29.8k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
 1363|  14.9k|TEST_CASE("upx_is_constant_evaluated") {
 1364|  14.9k|#if defined(upx_is_constant_evaluated)
 1365|  14.9k|    CHECK(true);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1366|  14.9k|#endif
 1367|  14.9k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
 1369|  14.9k|TEST_CASE("assert_noexcept") {
 1370|       |    // just to make sure that our own assert() macros do not trigger any compiler warnings
 1371|  14.9k|    byte dummy = 0;
 1372|  14.9k|    byte *ptr1 = &dummy;
 1373|  14.9k|    const byte *const ptr2 = &dummy;
 1374|  14.9k|    void *ptr3 = nullptr;
 1375|  14.9k|    assert(true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1376|  14.9k|    assert(1);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1377|  14.9k|    assert(ptr1);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1378|  14.9k|    assert(ptr2);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1379|  14.9k|    assert(!ptr3);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1380|  14.9k|    assert_noexcept(true);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1381|  14.9k|    assert_noexcept(1);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1382|  14.9k|    assert_noexcept(ptr1);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1383|  14.9k|    assert_noexcept(ptr2);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1384|  14.9k|    assert_noexcept(!ptr3);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1385|  14.9k|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
 1387|  14.9k|TEST_CASE("acc_vget") {
 1388|  14.9k|    CHECK_EQ(acc_vget_int(0, 0), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1389|  14.9k|    CHECK_EQ(acc_vget_long(1, -1), 1);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1390|  14.9k|    CHECK_EQ(acc_vget_acc_int64l_t(2, 1), 2);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1391|  14.9k|    CHECK_EQ(acc_vget_acc_hvoid_p(nullptr, 0), nullptr);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1392|  14.9k|    if (acc_vget_int(1, 0) > 0)
  ------------------
  |  Branch (1392:9): [True: 14.9k, False: 0]
  ------------------
 1393|  14.9k|        return;
 1394|      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]
  |  |  ------------------
  ------------------
 1395|      0|}
dt_check.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
 1397|  14.9k|TEST_CASE("ptr_invalidate_and_poison") {
 1398|  14.9k|    int *ip = nullptr; // initialized
 1399|  14.9k|    ptr_invalidate_and_poison(ip);
 1400|  14.9k|    assert(ip != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1401|      0|    (void) ip;
 1402|  14.9k|    double *dp; // not initialized
 1403|  14.9k|    ptr_invalidate_and_poison(dp);
 1404|  14.9k|    assert(dp != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1405|      0|    (void) dp;
 1406|  14.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
 1408|  14.9k|TEST_CASE("upx_getenv") {
 1409|  14.9k|    CHECK_EQ(upx_getenv(nullptr), nullptr);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1410|  14.9k|    CHECK_EQ(upx_getenv(""), nullptr);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1411|  14.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
 1413|  14.9k|TEST_CASE("working -fno-strict-aliasing") {
 1414|  14.9k|    bool ok;
 1415|  14.9k|    long v = 0;
 1416|  14.9k|    short *ps = ACC_STATIC_CAST(short *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1417|  14.9k|    int *pi = ACC_STATIC_CAST(int *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1418|  14.9k|    long *pl = ACC_STATIC_CAST(long *, acc_vget_acc_hvoid_p(&v, 0));
  ------------------
  |  | 1472|  14.9k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  ------------------
 1419|  14.9k|    *ps = 0;
 1420|  14.9k|    *pl = -1;
 1421|  14.9k|    ok = *ps == -1;
 1422|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1423|  14.9k|    *pi = 0;
 1424|  14.9k|    *pl = -1;
 1425|  14.9k|    ok = *pi == -1;
 1426|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1427|  14.9k|    *pl = 0;
 1428|  14.9k|    *ps = -1;
 1429|  14.9k|    ok = *pl != 0;
 1430|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1431|  14.9k|    *pl = 0;
 1432|  14.9k|    *pi = -1;
 1433|  14.9k|    ok = *pl != 0;
 1434|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1435|  14.9k|    UNUSED(ok);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1436|  14.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
 1438|  14.9k|TEST_CASE("working -fno-strict-overflow") {
 1439|  14.9k|    CHECK_EQ(acc_vget_int(INT_MAX, 0) + 1, INT_MIN);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1440|  14.9k|    CHECK_EQ(acc_vget_int(INT_MIN, 0) - 1, INT_MAX);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1441|  14.9k|    CHECK_EQ(acc_vget_long(LONG_MAX, 0) + 1, LONG_MIN);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1442|  14.9k|    CHECK_EQ(acc_vget_long(LONG_MIN, 0) - 1, LONG_MAX);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1443|  14.9k|    bool ok;
 1444|  14.9k|    int i;
 1445|  14.9k|    i = INT_MAX;
 1446|  14.9k|    i += 1;
 1447|  14.9k|    ok = i == INT_MIN;
 1448|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1449|  14.9k|    i = INT_MIN;
 1450|  14.9k|    i -= 1;
 1451|  14.9k|    ok = i == INT_MAX;
 1452|  14.9k|    CHECK(ok);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1453|  14.9k|    UNUSED(ok);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1454|  14.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
 1456|  14.9k|TEST_CASE("libc snprintf") {
 1457|       |    // runtime check that Windows/MinGW <stdio.h> works as expected
 1458|  14.9k|    char buf[64];
 1459|  14.9k|    long long ll = acc_vget_int(-1, 0);
 1460|  14.9k|    unsigned long long llu = (upx_uint64_t) (upx_int64_t) ll;
 1461|  14.9k|    snprintf(buf, sizeof(buf), "%d.%ld.%lld.%u.%lu.%llu", -3, -2L, ll, 3U, 2LU, llu);
  ------------------
  |  |   75|  14.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1462|  14.9k|    CHECK_EQ(strcmp(buf, "-3.-2.-1.3.2.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1463|  14.9k|    intmax_t im = ll;
 1464|  14.9k|    uintmax_t um = llu;
 1465|  14.9k|    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.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1466|  14.9k|    CHECK_EQ(strcmp(buf, "-4.0.0.0.0.0.0.0.4.-1"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1467|  14.9k|    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.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1468|  14.9k|    CHECK_EQ(strcmp(buf, "-5.0.0.0.0.0.0.0.5.18446744073709551615"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1469|  14.9k|    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.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1470|  14.9k|    CHECK_EQ(strcmp(buf, "-6.0.0.0.0.0.0.0.6.ffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1471|  14.9k|    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.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1472|  14.9k|    CHECK_EQ(strcmp(buf, "-7.0.0.0.0.0.0.0.7.0xffffffffffffffff"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1473|  14.9k|    snprintf(buf, sizeof(buf), "%#X %#lx %#llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1474|  14.9k|    CHECK_EQ(strcmp(buf, "0X1A 0x1b 0x1c"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1475|  14.9k|    snprintf(buf, sizeof(buf), "%#06x %#06lX %#06llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1476|  14.9k|    CHECK_EQ(strcmp(buf, "0x001a 0X001B 0x001c"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1477|  14.9k|    snprintf(buf, sizeof(buf), "%#6x %#6lx %#6llX", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1478|  14.9k|    CHECK_EQ(strcmp(buf, "  0x1a   0x1b   0X1C"), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1479|  14.9k|    snprintf(buf, sizeof(buf), "%#-6X %#-6lx %#-6llx", 26u, 27ul, 28ull);
  ------------------
  |  |   75|  14.9k|#define snprintf  upx_safe_snprintf
  ------------------
 1480|  14.9k|    CHECK_EQ(strcmp(buf, "0X1A   0x1b   0x1c  "), 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1481|  14.9k|}
dt_check.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
 1483|  14.9k|TEST_CASE("libc qsort") {
 1484|       |    // runtime check that libc qsort() never compares identical objects
 1485|       |    // UPDATE: while only poor implementations of qsort() would actually do this
 1486|       |    //   it is probably allowed by the standard, so skip this test by default
 1487|  14.9k|    if (!is_envvar_true("UPX_DEBUG_TEST_LIBC_QSORT"))
  ------------------
  |  Branch (1487:9): [True: 14.9k, False: 0]
  ------------------
 1488|  14.9k|        return;
 1489|       |
 1490|      0|    struct Elem {
 1491|      0|        upx_uint16_t id;
 1492|      0|        upx_uint16_t value;
 1493|      0|        static int __acc_cdecl_qsort compare(const void *aa, const void *bb) noexcept {
 1494|      0|            const Elem *a = (const Elem *) aa;
 1495|      0|            const Elem *b = (const Elem *) bb;
 1496|      0|            assert_noexcept(a->id != b->id); // check not IDENTICAL
 1497|      0|            return a->value == b->value ? 0 : (a->value < b->value ? -1 : 1);
 1498|      0|        }
 1499|      0|        static noinline bool check_sort(upx_sort_func_t sort, Elem *e, size_t n, bool is_stable) {
 1500|      0|            upx_uint32_t x = 5381 + (upx_rand() & 255);
 1501|      0|            for (size_t i = 0; i < n; i++) {
 1502|      0|                e[i].id = (upx_uint16_t) i;
 1503|      0|                x = x * 33 + 1 + (i & 255);
 1504|      0|                e[i].value = (upx_uint16_t) ((x >> 4) & 15);
 1505|      0|            }
 1506|      0|            sort(e, n, sizeof(Elem), Elem::compare);
 1507|       |            // verify
 1508|      0|            for (size_t i = 1; i < n; i++) {
 1509|      0|                if very_unlikely (e[i - 1].value > e[i].value)
 1510|      0|                    return false;
 1511|      0|                if (is_stable)
 1512|      0|                    if very_unlikely (e[i - 1].value == e[i].value && e[i - 1].id >= e[i].id)
 1513|      0|                        return false;
 1514|      0|            }
 1515|      0|            return true;
 1516|      0|        }
 1517|      0|    };
 1518|       |
 1519|      0|    constexpr size_t N = 256;
 1520|      0|    Elem e[N];
 1521|      0|    for (size_t n = 0; n <= N; n = 2 * n + 1) {
  ------------------
  |  Branch (1521:24): [True: 0, False: 0]
  ------------------
 1522|       |        // system sort functions
 1523|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1524|       |#if UPX_CONFIG_USE_STABLE_SORT
 1525|       |        upx_sort_func_t wrap_stable_sort = [](void *aa, size_t nn, size_t, upx_compare_func_t cc) {
 1526|       |            upx_std_stable_sort<sizeof(Elem)>(aa, nn, cc);
 1527|       |        };
 1528|       |        CHECK(Elem::check_sort(wrap_stable_sort, e, n, true)); // std::stable_sort()
 1529|       |#endif
 1530|       |        // simple UPX sort functions
 1531|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1532|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1533|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1534|      0|    }
 1535|      0|}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|  29.8k|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|  29.8k|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIcEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIcE6checkUIKcEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIaEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIaE6checkUIKaEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIhEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIhE6checkUIKhEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIsEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIsE6checkUIKsEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUItEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralItE6checkUIKtEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIiEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIiE6checkUIKiEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIjEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIjE6checkUIKjEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE5checkEv:
  440|   149k|    static noinline void check() noexcept {
  441|   149k|        check_core();
  442|   149k|        {
  443|   149k|            T zero, one, three, four;
  444|   149k|            zero = 0;
  445|   149k|            one = 1;
  446|   149k|            three = 3;
  447|   149k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|   149k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|   149k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|   149k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   149k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   149k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   149k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   149k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|   149k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|   149k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|   149k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|   149k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|   149k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|   149k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|   149k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|   149k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|   149k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|   149k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|   149k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|   149k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   149k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   149k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   149k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   149k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   149k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   149k|        }
  475|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE10check_coreEv:
  399|   149k|    static noinline void check_core() noexcept {
  400|   149k|        checkU<T>();
  401|   149k|        checkU<typename std::add_const<T>::type>();
  402|   149k|        {
  403|   149k|            TestT t = {};
  404|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|   149k|        }
  407|      0|        {
  408|   149k|            const TestT t = {};
  409|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   149k|        }
  412|   149k|        {
  413|   149k|            constexpr TestT t = {};
  414|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|   149k|        }
  417|   149k|        {
  418|   149k|            TestT t;
  419|   149k|            mem_clear(&t);
  420|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|   149k|        }
  423|      0|        {
  424|   149k|            T zero, one, three, four;
  425|   149k|            zero = 0;
  426|   149k|            one = 1;
  427|   149k|            three = 3;
  428|   149k|            four = 4;
  429|   149k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|   149k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|   149k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|   149k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|   149k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|   149k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|   149k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|   149k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|   149k|        }
  439|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIlEEvv:
  355|   149k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|   149k|        static_assert(upx_is_integral<U>::value);
  358|   149k|        static_assert(upx_is_integral_v<U>);
  359|   149k|#if __cplusplus <= 201703L
  360|   149k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|   149k|#endif
  362|   149k|        static_assert(std::is_standard_layout<U>::value);
  363|   149k|#if __cplusplus <= 202302L
  364|   149k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|   149k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|   149k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|   149k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|   149k|        static_assert(std::is_trivially_copyable<U>::value);
  370|   149k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|   149k|        {
  372|   149k|            U a = {};
  373|   149k|            const U b = {};
  374|   149k|            constexpr U c = {};
  375|   149k|            U x[2] = {};
  376|   149k|            const U y[2] = {};
  377|   149k|            constexpr U z[2] = {};
  378|   149k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   149k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   149k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   149k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|   149k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|   149k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|   149k|#if defined(upx_is_constant_evaluated)
  385|   149k|            static_assert(c == 0);
  386|   149k|            static_assert(z[0] == 0 && z[1] == 0);
  387|   149k|#endif
  388|   149k|        }
  389|      0|        {
  390|   149k|            TestU<U> t;
  391|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|   149k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|   149k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   149k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|   149k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   149k|        }
  398|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIlE6checkUIKlEEvv:
  355|   149k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|   149k|        static_assert(upx_is_integral<U>::value);
  358|   149k|        static_assert(upx_is_integral_v<U>);
  359|   149k|#if __cplusplus <= 201703L
  360|   149k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|   149k|#endif
  362|   149k|        static_assert(std::is_standard_layout<U>::value);
  363|   149k|#if __cplusplus <= 202302L
  364|   149k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|   149k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|   149k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|   149k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|   149k|        static_assert(std::is_trivially_copyable<U>::value);
  370|   149k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|   149k|        {
  372|   149k|            U a = {};
  373|   149k|            const U b = {};
  374|   149k|            constexpr U c = {};
  375|   149k|            U x[2] = {};
  376|   149k|            const U y[2] = {};
  377|   149k|            constexpr U z[2] = {};
  378|   149k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   149k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   149k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   149k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|   149k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|   149k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|   149k|#if defined(upx_is_constant_evaluated)
  385|   149k|            static_assert(c == 0);
  386|   149k|            static_assert(z[0] == 0 && z[1] == 0);
  387|   149k|#endif
  388|   149k|        }
  389|      0|        {
  390|   149k|            TestU<U> t;
  391|   149k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|   149k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|   149k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   149k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   149k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 149k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|   149k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   149k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   298k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 149k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   149k|        }
  398|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE5checkEv:
  440|   208k|    static noinline void check() noexcept {
  441|   208k|        check_core();
  442|   208k|        {
  443|   208k|            T zero, one, three, four;
  444|   208k|            zero = 0;
  445|   208k|            one = 1;
  446|   208k|            three = 3;
  447|   208k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|   208k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|   208k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|   208k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|   208k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|   208k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|   208k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|   208k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|   208k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|   208k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|   208k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|   208k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|   208k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|   208k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|   208k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|   208k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|   208k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|   208k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|   208k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|   208k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|   208k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|   208k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|   208k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|   208k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|   208k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|   208k|        }
  475|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE10check_coreEv:
  399|   208k|    static noinline void check_core() noexcept {
  400|   208k|        checkU<T>();
  401|   208k|        checkU<typename std::add_const<T>::type>();
  402|   208k|        {
  403|   208k|            TestT t = {};
  404|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|   208k|        }
  407|      0|        {
  408|   208k|            const TestT t = {};
  409|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|   208k|        }
  412|   208k|        {
  413|   208k|            constexpr TestT t = {};
  414|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|   208k|        }
  417|   208k|        {
  418|   208k|            TestT t;
  419|   208k|            mem_clear(&t);
  420|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|   208k|        }
  423|      0|        {
  424|   208k|            T zero, one, three, four;
  425|   208k|            zero = 0;
  426|   208k|            one = 1;
  427|   208k|            three = 3;
  428|   208k|            four = 4;
  429|   208k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|   208k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|   208k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|   208k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|   208k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|   208k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|   208k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|   208k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|   208k|        }
  439|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUImEEvv:
  355|   208k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|   208k|        static_assert(upx_is_integral<U>::value);
  358|   208k|        static_assert(upx_is_integral_v<U>);
  359|   208k|#if __cplusplus <= 201703L
  360|   208k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|   208k|#endif
  362|   208k|        static_assert(std::is_standard_layout<U>::value);
  363|   208k|#if __cplusplus <= 202302L
  364|   208k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|   208k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|   208k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|   208k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|   208k|        static_assert(std::is_trivially_copyable<U>::value);
  370|   208k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|   208k|        {
  372|   208k|            U a = {};
  373|   208k|            const U b = {};
  374|   208k|            constexpr U c = {};
  375|   208k|            U x[2] = {};
  376|   208k|            const U y[2] = {};
  377|   208k|            constexpr U z[2] = {};
  378|   208k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   208k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   208k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   208k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|   208k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|   208k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|   208k|#if defined(upx_is_constant_evaluated)
  385|   208k|            static_assert(c == 0);
  386|   208k|            static_assert(z[0] == 0 && z[1] == 0);
  387|   208k|#endif
  388|   208k|        }
  389|      0|        {
  390|   208k|            TestU<U> t;
  391|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|   208k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|   208k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   208k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|   208k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   208k|        }
  398|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralImE6checkUIKmEEvv:
  355|   208k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|   208k|        static_assert(upx_is_integral<U>::value);
  358|   208k|        static_assert(upx_is_integral_v<U>);
  359|   208k|#if __cplusplus <= 201703L
  360|   208k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|   208k|#endif
  362|   208k|        static_assert(std::is_standard_layout<U>::value);
  363|   208k|#if __cplusplus <= 202302L
  364|   208k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|   208k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|   208k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|   208k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|   208k|        static_assert(std::is_trivially_copyable<U>::value);
  370|   208k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|   208k|        {
  372|   208k|            U a = {};
  373|   208k|            const U b = {};
  374|   208k|            constexpr U c = {};
  375|   208k|            U x[2] = {};
  376|   208k|            const U y[2] = {};
  377|   208k|            constexpr U z[2] = {};
  378|   208k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|   208k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|   208k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|   208k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|   208k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|   208k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|   208k|#if defined(upx_is_constant_evaluated)
  385|   208k|            static_assert(c == 0);
  386|   208k|            static_assert(z[0] == 0 && z[1] == 0);
  387|   208k|#endif
  388|   208k|        }
  389|      0|        {
  390|   208k|            TestU<U> t;
  391|   208k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|   208k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|   208k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|   208k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|   208k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 208k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|   208k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|   208k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   417k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 208k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|   208k|        }
  398|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE5checkEv:
  440|  89.4k|    static noinline void check() noexcept {
  441|  89.4k|        check_core();
  442|  89.4k|        {
  443|  89.4k|            T zero, one, three, four;
  444|  89.4k|            zero = 0;
  445|  89.4k|            one = 1;
  446|  89.4k|            three = 3;
  447|  89.4k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  89.4k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  89.4k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  89.4k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  89.4k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  89.4k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  89.4k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  89.4k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  89.4k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  89.4k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  89.4k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  89.4k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  89.4k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  89.4k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  89.4k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  89.4k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  89.4k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  89.4k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  89.4k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  89.4k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  89.4k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  89.4k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  89.4k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  89.4k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  89.4k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  89.4k|        }
  475|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE10check_coreEv:
  399|  89.4k|    static noinline void check_core() noexcept {
  400|  89.4k|        checkU<T>();
  401|  89.4k|        checkU<typename std::add_const<T>::type>();
  402|  89.4k|        {
  403|  89.4k|            TestT t = {};
  404|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  89.4k|        }
  407|      0|        {
  408|  89.4k|            const TestT t = {};
  409|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  89.4k|        }
  412|  89.4k|        {
  413|  89.4k|            constexpr TestT t = {};
  414|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  89.4k|        }
  417|  89.4k|        {
  418|  89.4k|            TestT t;
  419|  89.4k|            mem_clear(&t);
  420|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  89.4k|        }
  423|      0|        {
  424|  89.4k|            T zero, one, three, four;
  425|  89.4k|            zero = 0;
  426|  89.4k|            one = 1;
  427|  89.4k|            three = 3;
  428|  89.4k|            four = 4;
  429|  89.4k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  89.4k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  89.4k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  89.4k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  89.4k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  89.4k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  89.4k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  89.4k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  89.4k|        }
  439|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIxEEvv:
  355|  89.4k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  89.4k|        static_assert(upx_is_integral<U>::value);
  358|  89.4k|        static_assert(upx_is_integral_v<U>);
  359|  89.4k|#if __cplusplus <= 201703L
  360|  89.4k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  89.4k|#endif
  362|  89.4k|        static_assert(std::is_standard_layout<U>::value);
  363|  89.4k|#if __cplusplus <= 202302L
  364|  89.4k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  89.4k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  89.4k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  89.4k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  89.4k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  89.4k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  89.4k|        {
  372|  89.4k|            U a = {};
  373|  89.4k|            const U b = {};
  374|  89.4k|            constexpr U c = {};
  375|  89.4k|            U x[2] = {};
  376|  89.4k|            const U y[2] = {};
  377|  89.4k|            constexpr U z[2] = {};
  378|  89.4k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  89.4k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  89.4k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  89.4k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  89.4k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  89.4k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  89.4k|#if defined(upx_is_constant_evaluated)
  385|  89.4k|            static_assert(c == 0);
  386|  89.4k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  89.4k|#endif
  388|  89.4k|        }
  389|      0|        {
  390|  89.4k|            TestU<U> t;
  391|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  89.4k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  89.4k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  89.4k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  89.4k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  89.4k|        }
  398|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIxE6checkUIKxEEvv:
  355|  89.4k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  89.4k|        static_assert(upx_is_integral<U>::value);
  358|  89.4k|        static_assert(upx_is_integral_v<U>);
  359|  89.4k|#if __cplusplus <= 201703L
  360|  89.4k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  89.4k|#endif
  362|  89.4k|        static_assert(std::is_standard_layout<U>::value);
  363|  89.4k|#if __cplusplus <= 202302L
  364|  89.4k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  89.4k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  89.4k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  89.4k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  89.4k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  89.4k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  89.4k|        {
  372|  89.4k|            U a = {};
  373|  89.4k|            const U b = {};
  374|  89.4k|            constexpr U c = {};
  375|  89.4k|            U x[2] = {};
  376|  89.4k|            const U y[2] = {};
  377|  89.4k|            constexpr U z[2] = {};
  378|  89.4k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  89.4k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  89.4k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  89.4k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  89.4k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  89.4k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  89.4k|#if defined(upx_is_constant_evaluated)
  385|  89.4k|            static_assert(c == 0);
  386|  89.4k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  89.4k|#endif
  388|  89.4k|        }
  389|      0|        {
  390|  89.4k|            TestU<U> t;
  391|  89.4k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  89.4k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  89.4k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  89.4k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  89.4k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 89.4k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  89.4k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  89.4k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 89.4k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  89.4k|        }
  398|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE5checkEv:
  440|  59.6k|    static noinline void check() noexcept {
  441|  59.6k|        check_core();
  442|  59.6k|        {
  443|  59.6k|            T zero, one, three, four;
  444|  59.6k|            zero = 0;
  445|  59.6k|            one = 1;
  446|  59.6k|            three = 3;
  447|  59.6k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  59.6k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  59.6k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  59.6k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  59.6k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  59.6k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  59.6k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  59.6k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  59.6k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  59.6k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  59.6k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  59.6k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  59.6k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  59.6k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  59.6k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  59.6k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  59.6k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  59.6k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  59.6k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  59.6k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  59.6k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  59.6k|        }
  475|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE10check_coreEv:
  399|  59.6k|    static noinline void check_core() noexcept {
  400|  59.6k|        checkU<T>();
  401|  59.6k|        checkU<typename std::add_const<T>::type>();
  402|  59.6k|        {
  403|  59.6k|            TestT t = {};
  404|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  59.6k|        }
  407|      0|        {
  408|  59.6k|            const TestT t = {};
  409|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  59.6k|        }
  412|  59.6k|        {
  413|  59.6k|            constexpr TestT t = {};
  414|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  59.6k|        }
  417|  59.6k|        {
  418|  59.6k|            TestT t;
  419|  59.6k|            mem_clear(&t);
  420|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  59.6k|        }
  423|      0|        {
  424|  59.6k|            T zero, one, three, four;
  425|  59.6k|            zero = 0;
  426|  59.6k|            one = 1;
  427|  59.6k|            three = 3;
  428|  59.6k|            four = 4;
  429|  59.6k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  59.6k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  59.6k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  59.6k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  59.6k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  59.6k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  59.6k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  59.6k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  59.6k|        }
  439|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIyEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIyE6checkUIKyEEvv:
  355|  59.6k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  59.6k|        static_assert(upx_is_integral<U>::value);
  358|  59.6k|        static_assert(upx_is_integral_v<U>);
  359|  59.6k|#if __cplusplus <= 201703L
  360|  59.6k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  59.6k|#endif
  362|  59.6k|        static_assert(std::is_standard_layout<U>::value);
  363|  59.6k|#if __cplusplus <= 202302L
  364|  59.6k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  59.6k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  59.6k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  59.6k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  59.6k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  59.6k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  59.6k|        {
  372|  59.6k|            U a = {};
  373|  59.6k|            const U b = {};
  374|  59.6k|            constexpr U c = {};
  375|  59.6k|            U x[2] = {};
  376|  59.6k|            const U y[2] = {};
  377|  59.6k|            constexpr U z[2] = {};
  378|  59.6k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  59.6k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  59.6k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  59.6k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  59.6k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  59.6k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  59.6k|#if defined(upx_is_constant_evaluated)
  385|  59.6k|            static_assert(c == 0);
  386|  59.6k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  59.6k|#endif
  388|  59.6k|        }
  389|      0|        {
  390|  59.6k|            TestU<U> t;
  391|  59.6k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  59.6k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  59.6k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  59.6k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  59.6k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 59.6k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  59.6k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  59.6k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 59.6k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  59.6k|        }
  398|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|  29.8k|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|  29.8k|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUInEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralInE6checkUIKnEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|  29.8k|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|  29.8k|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIoEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralIoE6checkUIKoEEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|  29.8k|#if defined(upx_is_constant_evaluated)
  385|  29.8k|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE5checkEv:
  697|  29.8k|    static noinline void check() noexcept {
  698|  29.8k|        checkU<T, T_is_signed>();
  699|  29.8k|        using signed_type = std::make_signed_t<T>;
  700|  29.8k|        checkU<signed_type, true>();
  701|  29.8k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  29.8k|        checkU<unsigned_type, false>();
  703|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIcLb0EEEvv:
  687|  29.8k|    static inline void checkU() noexcept {
  688|  29.8k|        static_assert(std::is_integral_v<U>);
  689|  29.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  29.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  29.8k|        static_assert(sizeof(U) == sizeof(T));
  692|  29.8k|        static_assert(alignof(U) == alignof(T));
  693|  29.8k|        constexpr U all_bits = U(U(0) - U(1));
  694|  29.8k|        static_assert(all_bits == U(~U(0)));
  695|  29.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIaLb1EEEvv:
  687|  29.8k|    static inline void checkU() noexcept {
  688|  29.8k|        static_assert(std::is_integral_v<U>);
  689|  29.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  29.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  29.8k|        static_assert(sizeof(U) == sizeof(T));
  692|  29.8k|        static_assert(alignof(U) == alignof(T));
  693|  29.8k|        constexpr U all_bits = U(U(0) - U(1));
  694|  29.8k|        static_assert(all_bits == U(~U(0)));
  695|  29.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIcLb0EE6checkUIhLb0EEEvv:
  687|  29.8k|    static inline void checkU() noexcept {
  688|  29.8k|        static_assert(std::is_integral_v<U>);
  689|  29.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  29.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  29.8k|        static_assert(sizeof(U) == sizeof(T));
  692|  29.8k|        static_assert(alignof(U) == alignof(T));
  693|  29.8k|        constexpr U all_bits = U(U(0) - U(1));
  694|  29.8k|        static_assert(all_bits == U(~U(0)));
  695|  29.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIaLb1EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIaLb1EE6checkUIhLb0EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIhLb0EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIhLb0EE6checkUIaLb1EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUIsLb1EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIsLb1EE6checkUItLb0EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUItLb0EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessItLb0EE6checkUIsLb1EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIiLb1EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIiLb1EE6checkUIjLb0EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIjLb0EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIjLb0EE6checkUIiLb1EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE5checkEv:
  697|   149k|    static noinline void check() noexcept {
  698|   149k|        checkU<T, T_is_signed>();
  699|   149k|        using signed_type = std::make_signed_t<T>;
  700|   149k|        checkU<signed_type, true>();
  701|   149k|        using unsigned_type = std::make_unsigned_t<T>;
  702|   149k|        checkU<unsigned_type, false>();
  703|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUIlLb1EEEvv:
  687|   298k|    static inline void checkU() noexcept {
  688|   298k|        static_assert(std::is_integral_v<U>);
  689|   298k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   298k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   298k|        static_assert(sizeof(U) == sizeof(T));
  692|   298k|        static_assert(alignof(U) == alignof(T));
  693|   298k|        constexpr U all_bits = U(U(0) - U(1));
  694|   298k|        static_assert(all_bits == U(~U(0)));
  695|   298k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   298k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIlLb1EE6checkUImLb0EEEvv:
  687|   149k|    static inline void checkU() noexcept {
  688|   149k|        static_assert(std::is_integral_v<U>);
  689|   149k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   149k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   149k|        static_assert(sizeof(U) == sizeof(T));
  692|   149k|        static_assert(alignof(U) == alignof(T));
  693|   149k|        constexpr U all_bits = U(U(0) - U(1));
  694|   149k|        static_assert(all_bits == U(~U(0)));
  695|   149k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   149k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE5checkEv:
  697|   208k|    static noinline void check() noexcept {
  698|   208k|        checkU<T, T_is_signed>();
  699|   208k|        using signed_type = std::make_signed_t<T>;
  700|   208k|        checkU<signed_type, true>();
  701|   208k|        using unsigned_type = std::make_unsigned_t<T>;
  702|   208k|        checkU<unsigned_type, false>();
  703|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUImLb0EEEvv:
  687|   417k|    static inline void checkU() noexcept {
  688|   417k|        static_assert(std::is_integral_v<U>);
  689|   417k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   417k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   417k|        static_assert(sizeof(U) == sizeof(T));
  692|   417k|        static_assert(alignof(U) == alignof(T));
  693|   417k|        constexpr U all_bits = U(U(0) - U(1));
  694|   417k|        static_assert(all_bits == U(~U(0)));
  695|   417k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   417k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessImLb0EE6checkUIlLb1EEEvv:
  687|   208k|    static inline void checkU() noexcept {
  688|   208k|        static_assert(std::is_integral_v<U>);
  689|   208k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   208k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   208k|        static_assert(sizeof(U) == sizeof(T));
  692|   208k|        static_assert(alignof(U) == alignof(T));
  693|   208k|        constexpr U all_bits = U(U(0) - U(1));
  694|   208k|        static_assert(all_bits == U(~U(0)));
  695|   208k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   208k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE5checkEv:
  697|  89.4k|    static noinline void check() noexcept {
  698|  89.4k|        checkU<T, T_is_signed>();
  699|  89.4k|        using signed_type = std::make_signed_t<T>;
  700|  89.4k|        checkU<signed_type, true>();
  701|  89.4k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  89.4k|        checkU<unsigned_type, false>();
  703|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIxLb1EEEvv:
  687|   178k|    static inline void checkU() noexcept {
  688|   178k|        static_assert(std::is_integral_v<U>);
  689|   178k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   178k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   178k|        static_assert(sizeof(U) == sizeof(T));
  692|   178k|        static_assert(alignof(U) == alignof(T));
  693|   178k|        constexpr U all_bits = U(U(0) - U(1));
  694|   178k|        static_assert(all_bits == U(~U(0)));
  695|   178k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   178k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIxLb1EE6checkUIyLb0EEEvv:
  687|  89.4k|    static inline void checkU() noexcept {
  688|  89.4k|        static_assert(std::is_integral_v<U>);
  689|  89.4k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  89.4k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  89.4k|        static_assert(sizeof(U) == sizeof(T));
  692|  89.4k|        static_assert(alignof(U) == alignof(T));
  693|  89.4k|        constexpr U all_bits = U(U(0) - U(1));
  694|  89.4k|        static_assert(all_bits == U(~U(0)));
  695|  89.4k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  89.4k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE5checkEv:
  697|  59.6k|    static noinline void check() noexcept {
  698|  59.6k|        checkU<T, T_is_signed>();
  699|  59.6k|        using signed_type = std::make_signed_t<T>;
  700|  59.6k|        checkU<signed_type, true>();
  701|  59.6k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  59.6k|        checkU<unsigned_type, false>();
  703|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIyLb0EEEvv:
  687|   119k|    static inline void checkU() noexcept {
  688|   119k|        static_assert(std::is_integral_v<U>);
  689|   119k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|   119k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|   119k|        static_assert(sizeof(U) == sizeof(T));
  692|   119k|        static_assert(alignof(U) == alignof(T));
  693|   119k|        constexpr U all_bits = U(U(0) - U(1));
  694|   119k|        static_assert(all_bits == U(~U(0)));
  695|   119k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|   119k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIyLb0EE6checkUIxLb1EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE5checkEv:
  697|  29.8k|    static noinline void check() noexcept {
  698|  29.8k|        checkU<T, T_is_signed>();
  699|  29.8k|        using signed_type = std::make_signed_t<T>;
  700|  29.8k|        checkU<signed_type, true>();
  701|  29.8k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  29.8k|        checkU<unsigned_type, false>();
  703|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUInLb1EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessInLb1EE6checkUIoLb0EEEvv:
  687|  29.8k|    static inline void checkU() noexcept {
  688|  29.8k|        static_assert(std::is_integral_v<U>);
  689|  29.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  29.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  29.8k|        static_assert(sizeof(U) == sizeof(T));
  692|  29.8k|        static_assert(alignof(U) == alignof(T));
  693|  29.8k|        constexpr U all_bits = U(U(0) - U(1));
  694|  29.8k|        static_assert(all_bits == U(~U(0)));
  695|  29.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE5checkEv:
  697|  29.8k|    static noinline void check() noexcept {
  698|  29.8k|        checkU<T, T_is_signed>();
  699|  29.8k|        using signed_type = std::make_signed_t<T>;
  700|  29.8k|        checkU<signed_type, true>();
  701|  29.8k|        using unsigned_type = std::make_unsigned_t<T>;
  702|  29.8k|        checkU<unsigned_type, false>();
  703|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUIoLb0EEEvv:
  687|  59.6k|    static inline void checkU() noexcept {
  688|  59.6k|        static_assert(std::is_integral_v<U>);
  689|  59.6k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  59.6k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  59.6k|        static_assert(sizeof(U) == sizeof(T));
  692|  59.6k|        static_assert(alignof(U) == alignof(T));
  693|  59.6k|        constexpr U all_bits = U(U(0) - U(1));
  694|  59.6k|        static_assert(all_bits == U(~U(0)));
  695|  59.6k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  59.6k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115CheckSignednessIoLb0EE6checkUInLb1EEEvv:
  687|  29.8k|    static inline void checkU() noexcept {
  688|  29.8k|        static_assert(std::is_integral_v<U>);
  689|  29.8k|        static_assert(std::is_signed_v<U> == U_is_signed);
  690|  29.8k|        static_assert(std::is_unsigned_v<U> == !U_is_signed);
  691|  29.8k|        static_assert(sizeof(U) == sizeof(T));
  692|  29.8k|        static_assert(alignof(U) == alignof(T));
  693|  29.8k|        constexpr U all_bits = U(U(0) - U(1));
  694|  29.8k|        static_assert(all_bits == U(~U(0)));
  695|  29.8k|        static_assert(U_is_signed ? (all_bits < 0) : (all_bits > 0));
  696|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIahE5checkEv:
  720|  59.6k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIstE5checkEv:
  720|  59.6k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIijE5checkEv:
  720|  59.6k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIlmE5checkEv:
  720|   208k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairIxyE5checkEv:
  720|  59.6k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_113CheckTypePairInoE5checkEv:
  720|  29.8k|    static inline void check() noexcept {}
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE16E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE16E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE16E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE32E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE32E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE32E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4LE64E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4LE64E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4LE64E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE16E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE16E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE16E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE32E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE32E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE32E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_18TestBELEI4BE64E4testEv:
  508|  29.8k|    static noinline bool test() noexcept {
  509|  29.8k|        CheckIntegral<T>::check();
  510|  29.8k|        CheckAlignment<T>::check();
  511|       |        // arithmetic checks
  512|  29.8k|        {
  513|  29.8k|            T all_bits = {}; // == zero
  514|  29.8k|            assert_noexcept(all_bits == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  515|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  516|      0|            all_bits += 1;
  517|  29.8k|            assert_noexcept(upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  518|      0|            all_bits -= 2;
  519|  29.8k|            assert_noexcept(!upx::has_single_bit(all_bits));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  520|      0|            T v1;
  521|  29.8k|            v1 = 1;
  522|  29.8k|            v1 *= 4;
  523|  29.8k|            v1 /= 2;
  524|  29.8k|            v1 -= 1;
  525|  29.8k|            T v2;
  526|  29.8k|            v2 = 1;
  527|  29.8k|            assert_noexcept((v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  528|  29.8k|            assert_noexcept(!(v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  530|  29.8k|            assert_noexcept((v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  531|  29.8k|            assert_noexcept(!(v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  532|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  533|      0|            v2 ^= all_bits;
  534|  29.8k|            assert_noexcept(!(v1 == v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|  29.8k|            assert_noexcept((v1 != v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  536|  29.8k|            assert_noexcept((v1 <= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  537|  29.8k|            assert_noexcept(!(v1 >= v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  538|  29.8k|            assert_noexcept((v1 < v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            assert_noexcept(!(v1 > v2));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  540|      0|            v2 += 2;
  541|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  542|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  543|      0|            v1 <<= 1;
  544|  29.8k|            v1 |= v2;
  545|  29.8k|            v1 >>= 1;
  546|  29.8k|            v2 &= v1;
  547|  29.8k|            v2 /= v1;
  548|  29.8k|            v2 *= v1;
  549|  29.8k|            v1 += v2;
  550|  29.8k|            v1 -= v2;
  551|  29.8k|            assert_noexcept(v1 == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  552|  29.8k|            assert_noexcept(v2 == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  553|  29.8k|            if ((v1 ^ v2) != 1)
  ------------------
  |  Branch (553:17): [True: 0, False: 29.8k]
  ------------------
  554|      0|                return false;
  555|  29.8k|        }
  556|       |        // min/max
  557|  29.8k|        {
  558|  29.8k|            constexpr T a = {}; // == zero
  559|  29.8k|            typedef typename T::integral_conversion_type U;
  560|  29.8k|            constexpr U b = 1;
  561|  29.8k|            assert_noexcept(upx::min(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  562|  29.8k|            assert_noexcept(upx::min(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  563|  29.8k|            assert_noexcept(upx::min(a, b) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  564|  29.8k|            assert_noexcept(upx::min(a, b) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  565|  29.8k|            assert_noexcept(upx::min(b, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|  29.8k|            assert_noexcept(upx::min(b, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  567|  29.8k|            assert_noexcept(upx::min(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|  29.8k|            assert_noexcept(upx::min(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  569|  29.8k|            assert_noexcept(upx::max(a, a) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  570|  29.8k|            assert_noexcept(upx::max(a, a) == a);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  571|  29.8k|            assert_noexcept(upx::max(a, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  572|  29.8k|            assert_noexcept(upx::max(a, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  573|  29.8k|            assert_noexcept(upx::max(b, a) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  574|  29.8k|            assert_noexcept(upx::max(b, a) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  575|  29.8k|            assert_noexcept(upx::max(b, b) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  576|  29.8k|            assert_noexcept(upx::max(b, b) == b);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, Folded]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  577|  29.8k|            T minus_one_t = {}, minus_two_t = {};
  578|  29.8k|            minus_one_t -= 1;
  579|  29.8k|            minus_two_t -= 2;
  580|  29.8k|            const U minus_one_u = minus_one_t;
  581|  29.8k|            const U minus_two_u = minus_two_t;
  582|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  583|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  585|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  586|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  587|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  588|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  589|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  590|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  591|  29.8k|            assert_noexcept(upx::min(minus_two_u, minus_one_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  592|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  593|  29.8k|            assert_noexcept(upx::min(minus_two_t, minus_one_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  594|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  595|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  596|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  597|  29.8k|            assert_noexcept(upx::min(minus_one_u, minus_two_t) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  598|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  599|  29.8k|            assert_noexcept(upx::min(minus_one_t, minus_two_u) == minus_two_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  600|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  601|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  602|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  603|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  604|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  605|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  606|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  607|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  608|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  609|  29.8k|            assert_noexcept(upx::max(minus_two_u, minus_one_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  610|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  611|  29.8k|            assert_noexcept(upx::max(minus_two_t, minus_one_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  612|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  613|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  614|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  615|  29.8k|            assert_noexcept(upx::max(minus_one_u, minus_two_t) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  616|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_t);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  617|  29.8k|            assert_noexcept(upx::max(minus_one_t, minus_two_u) == minus_one_u);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  618|  29.8k|        }
  619|       |        // constexpr
  620|      0|        {
  621|  29.8k|            constexpr T zero = {};
  622|  29.8k|            constexpr T zero_copy = T::make(zero);
  623|  29.8k|            assert_noexcept(zero_copy == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  624|  29.8k|            assert_noexcept(!upx::has_single_bit(zero));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  625|      0|#if defined(upx_is_constant_evaluated)
  626|      0|            static_assert(zero_copy == 0);
  627|  29.8k|            static_assert(zero_copy == zero);
  628|  29.8k|            static_assert(!upx::has_single_bit(zero));
  629|  29.8k|            static_assert(!upx::has_single_bit(zero_copy));
  630|  29.8k|#endif
  631|  29.8k|        }
  632|      0|#if defined(upx_is_constant_evaluated)
  633|      0|        {
  634|  29.8k|            typedef typename T::integral_conversion_type U;
  635|  29.8k|            constexpr T one = T::make(1);
  636|  29.8k|            static_assert(one == 1);
  637|  29.8k|            static_assert(upx::has_single_bit(one));
  638|  29.8k|            constexpr T four = T::make(one + 3);
  639|  29.8k|            static_assert(four == 4);
  640|  29.8k|            static_assert(upx::has_single_bit(four));
  641|  29.8k|            constexpr U all_bits_u = (U) T::make(U(0) - U(1));
  642|  29.8k|            constexpr T all_bits = T::make(all_bits_u);
  643|  29.8k|            static_assert(all_bits == all_bits_u);
  644|  29.8k|            static_assert(all_bits == T::make(one - 2));
  645|  29.8k|            static_assert(!upx::has_single_bit(all_bits));
  646|  29.8k|            static_assert(one == one);
  647|  29.8k|            static_assert(!(one == four));
  648|  29.8k|            static_assert(!(one == all_bits));
  649|  29.8k|            static_assert(one < four);
  650|  29.8k|            static_assert(one < all_bits);
  651|  29.8k|            static_assert(upx::min(one, four) == 1);
  652|  29.8k|            static_assert(upx::min(one, four) == one);
  653|  29.8k|            static_assert(upx::min(U(1), four) == 1);
  654|  29.8k|            static_assert(upx::min(one, U(4)) == 1);
  655|  29.8k|            static_assert(upx::max(one, four) == 4);
  656|  29.8k|            static_assert(upx::max(one, four) == four);
  657|  29.8k|            static_assert(upx::max(U(1), four) == 4);
  658|  29.8k|            static_assert(upx::max(one, U(4)) == 4);
  659|  29.8k|            static_assert(upx::align_down(one, four) == 0);
  660|  29.8k|            static_assert(upx::align_up(one, four) == 4);
  661|  29.8k|            static_assert(upx::align_up(one, four) == four);
  662|  29.8k|            static_assert(upx::align_up_gap(one, four) == 3);
  663|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - 1));
  664|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four - one));
  665|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - one - one));
  666|  29.8k|            static_assert(upx::align_up_gap(one, four) == T::make(four + one - 2 * one));
  667|  29.8k|            static_assert(upx::align_down_gap(T::make(4), four) == 0);
  668|  29.8k|            static_assert(upx::align_down_gap(T::make(5), four) == 1);
  669|  29.8k|            static_assert(upx::align_down_gap(T::make(6), four) == 2);
  670|  29.8k|            static_assert(upx::align_down_gap(T::make(7), four) == 3);
  671|  29.8k|            static_assert(upx::align_down_gap(T::make(8), four) == 0);
  672|  29.8k|            constexpr T one_copy = T::make(one);
  673|  29.8k|            static_assert(one_copy == one);
  674|  29.8k|            static_assert(one_copy == 1);
  675|  29.8k|        }
  676|  29.8k|#endif
  677|  29.8k|        return true;
  678|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E5checkEv:
  440|  29.8k|    static noinline void check() noexcept {
  441|  29.8k|        check_core();
  442|  29.8k|        {
  443|  29.8k|            T zero, one, three, four;
  444|  29.8k|            zero = 0;
  445|  29.8k|            one = 1;
  446|  29.8k|            three = 3;
  447|  29.8k|            four = 4;
  448|       |            // align - needs binary expressions which do not work
  449|       |            //   on CHERI uintptr_t because of pointer provenance
  450|  29.8k|            assert_noexcept(upx::align_down(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  451|  29.8k|            assert_noexcept(upx::align_down(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  452|  29.8k|            assert_noexcept(upx::align_down(one, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  453|  29.8k|            assert_noexcept(upx::align_down(one, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  454|  29.8k|            assert_noexcept(upx::align_down(three, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  455|  29.8k|            assert_noexcept(upx::align_down(three, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  456|  29.8k|            assert_noexcept(upx::align_down(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  457|  29.8k|            assert_noexcept(upx::align_down(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  458|  29.8k|            assert_noexcept(upx::align_up(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  459|  29.8k|            assert_noexcept(upx::align_up(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  460|  29.8k|            assert_noexcept(upx::align_up(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  461|  29.8k|            assert_noexcept(upx::align_up(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  462|  29.8k|            assert_noexcept(upx::align_up(three, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  463|  29.8k|            assert_noexcept(upx::align_up(three, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  464|  29.8k|            assert_noexcept(upx::align_up(four, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  465|  29.8k|            assert_noexcept(upx::align_up(four, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  466|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  467|  29.8k|            assert_noexcept(upx::align_up_gap(zero, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  468|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  469|  29.8k|            assert_noexcept(upx::align_up_gap(one, four) == three);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  470|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  471|  29.8k|            assert_noexcept(upx::align_up_gap(three, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  472|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  473|  29.8k|            assert_noexcept(upx::align_up_gap(four, four) == zero);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  474|  29.8k|        }
  475|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E10check_coreEv:
  399|  29.8k|    static noinline void check_core() noexcept {
  400|  29.8k|        checkU<T>();
  401|  29.8k|        checkU<typename std::add_const<T>::type>();
  402|  29.8k|        {
  403|  29.8k|            TestT t = {};
  404|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  405|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  406|  29.8k|        }
  407|      0|        {
  408|  29.8k|            const TestT t = {};
  409|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  410|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  411|  29.8k|        }
  412|      0|        {
  413|  29.8k|            constexpr TestT t = {};
  414|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  415|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  416|  29.8k|        }
  417|      0|        {
  418|  29.8k|            TestT t;
  419|  29.8k|            mem_clear(&t);
  420|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  421|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  422|  29.8k|        }
  423|      0|        {
  424|  29.8k|            T zero, one, three, four;
  425|  29.8k|            zero = 0;
  426|  29.8k|            one = 1;
  427|  29.8k|            three = 3;
  428|  29.8k|            four = 4;
  429|  29.8k|            assert_noexcept(zero == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  430|  29.8k|            assert_noexcept(one == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  431|  29.8k|            assert_noexcept(three == 3);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  432|  29.8k|            assert_noexcept(four == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  433|       |            // min / max
  434|  29.8k|            assert_noexcept(upx::min(one, four) == 1);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  435|  29.8k|            assert_noexcept(upx::min(one, four) == one);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  436|  29.8k|            assert_noexcept(upx::max(one, four) == 4);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  437|  29.8k|            assert_noexcept(upx::max(one, four) == four);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  438|  29.8k|        }
  439|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_113CheckIntegralI4BE64E6checkUIKS1_EEvv:
  355|  29.8k|    static noinline void checkU() noexcept {
  356|       |        // UPX extras
  357|  29.8k|        static_assert(upx_is_integral<U>::value);
  358|  29.8k|        static_assert(upx_is_integral_v<U>);
  359|  29.8k|#if __cplusplus <= 201703L
  360|  29.8k|        static_assert(std::is_pod<U>::value); // std::is_pod is deprecated in C++20
  361|  29.8k|#endif
  362|  29.8k|        static_assert(std::is_standard_layout<U>::value);
  363|  29.8k|#if __cplusplus <= 202302L
  364|  29.8k|        static_assert(std::is_trivial<U>::value); // std::is_trivial is deprecated in C++26
  365|  29.8k|#endif
  366|       |        // more checks, these are probably implied by std::is_trivial
  367|  29.8k|        static_assert(std::is_nothrow_default_constructible<U>::value);
  368|  29.8k|        static_assert(std::is_nothrow_destructible<U>::value);
  369|  29.8k|        static_assert(std::is_trivially_copyable<U>::value);
  370|  29.8k|        static_assert(std::is_trivially_default_constructible<U>::value);
  371|  29.8k|        {
  372|  29.8k|            U a = {};
  373|  29.8k|            const U b = {};
  374|  29.8k|            constexpr U c = {};
  375|  29.8k|            U x[2] = {};
  376|  29.8k|            const U y[2] = {};
  377|  29.8k|            constexpr U z[2] = {};
  378|  29.8k|            assert_noexcept(a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  379|  29.8k|            assert_noexcept(b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  380|  29.8k|            assert_noexcept(c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  381|  29.8k|            assert_noexcept(x[0] == 0 && x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  382|  29.8k|            assert_noexcept(y[0] == 0 && y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  383|  29.8k|            assert_noexcept(z[0] == 0 && z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  384|      0|#if defined(upx_is_constant_evaluated)
  385|      0|            static_assert(c == 0);
  386|  29.8k|            static_assert(z[0] == 0 && z[1] == 0);
  387|  29.8k|#endif
  388|  29.8k|        }
  389|      0|        {
  390|  29.8k|            TestU<U> t;
  391|  29.8k|            assert_noexcept(t.a == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  392|  29.8k|            assert_noexcept(t.b == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  393|  29.8k|            assert_noexcept(t.c == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  394|  29.8k|            assert_noexcept(t.x[0] == 0 && t.x[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  395|  29.8k|            assert_noexcept(t.y[0] == 0 && t.y[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  396|  29.8k|            assert_noexcept(t.z[0] == 0 && t.z[1] == 0);
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  397|  29.8k|        }
  398|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114CheckAlignmentI4BE64E5checkEv:
  480|  29.8k|    static noinline void check() noexcept {
  481|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(T)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  29.8k|        struct alignas(1) Test1 {
  483|  29.8k|            char a;
  484|  29.8k|            T b;
  485|  29.8k|        };
  486|  29.8k|        struct alignas(1) Test2 {
  487|  29.8k|            char a;
  488|  29.8k|            T b[3];
  489|  29.8k|        };
  490|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test1)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  29.8k|        COMPILE_TIME_ASSERT_ALIGNED1(Test2)
  ------------------
  |  |  446|  29.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  29.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  29.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  29.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  29.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  29.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  29.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  29.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  29.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  29.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  29.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  29.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  29.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  29.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  29.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  29.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  29.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  29.8k|        Test1 t1[7];
  493|  29.8k|        Test2 t2[7];
  494|  29.8k|        static_assert(sizeof(Test1) == 1 + sizeof(T));
  495|  29.8k|        static_assert(sizeof(t1) == 7 + 7 * sizeof(T));
  496|  29.8k|        static_assert(sizeof(Test2) == 1 + 3 * sizeof(T));
  497|  29.8k|        static_assert(sizeof(t2) == 7 + 21 * sizeof(T));
  498|  29.8k|        UNUSED(t1);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  499|  29.8k|        UNUSED(t2);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  500|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4BE32EEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4BE32E4testEPsPS1_:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIs4LE32EEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIs4LE32E4testEPsPS1_:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4BE64EEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4BE64E4testEPiPS1_:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIi4LE64EEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIi4LE64E4testEPiPS1_:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIsiEEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIsiE4testEPsPi:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIilEEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIilE4testEPiPl:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIixEEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIixE4testEPiPx:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_114testNoAliasingIlxEEbPT_PT0_:
  733|  29.8k|static forceinline bool testNoAliasing(A *a, B *b) noexcept {
  734|  29.8k|    return TestNoAliasingStruct<A, B>::test(a, b);
  735|  29.8k|}
dt_check.cpp:_ZN12_GLOBAL__N_120TestNoAliasingStructIlxE4testEPlPx:
  725|  29.8k|    static noinline bool test(A *a, B *b) noexcept {
  726|  29.8k|        *a = 0;
  727|  29.8k|        *b = 0;
  728|  29.8k|        *b -= 3;
  729|  29.8k|        return *a != 0;
  730|  29.8k|    }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6inc_gtEj:
  739|  59.6k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6dec_ltEj:
  740|  59.6k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIjE6neg_eqEj:
  741|  89.4k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6inc_gtEi:
  739|  59.6k|    static inline bool inc_gt(const T x) noexcept { return x + 1 > x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6dec_ltEi:
  740|  59.6k|    static inline bool dec_lt(const T x) noexcept { return x - 1 < x; }
dt_check.cpp:_ZN12_GLOBAL__N_115TestIntegerWrapIiE6neg_eqEi:
  741|   119k|    static inline bool neg_eq(const T x) noexcept { return T(T(0) - x) == x; }

dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  162|  14.9k|TEST_CASE("xspan codegen") {
  163|       |    // typedef byte T;
  164|  14.9k|    typedef int T;
  165|  14.9k|    T buf[4] = {0, 1, 2, 3};
  166|  14.9k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  167|  14.9k|    {
  168|  14.9k|        auto r = TestXSpanCG<T>::make_span_0_0(buf, bytes);
  169|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  14.9k|    }
  171|  14.9k|    {
  172|  14.9k|        auto r = TestXSpanCG<T>::make_span_p_0(buf, bytes);
  173|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.9k|    }
  175|  14.9k|    {
  176|  14.9k|        auto r = TestXSpanCG<T>::make_span_s_0(buf, bytes);
  177|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  14.9k|    }
  179|  14.9k|    {
  180|  14.9k|        auto r = TestXSpanCG<T>::make_span_0_p(buf, bytes);
  181|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.9k|    }
  183|  14.9k|    {
  184|  14.9k|        auto r = TestXSpanCG<T>::make_span_p_p(buf, bytes);
  185|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  14.9k|    }
  187|  14.9k|    {
  188|  14.9k|        auto r = TestXSpanCG<T>::make_span_s_p(buf, bytes);
  189|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  190|  14.9k|    }
  191|  14.9k|    {
  192|  14.9k|        auto r = TestXSpanCG<T>::make_span_0_s(buf, bytes);
  193|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  14.9k|    }
  195|  14.9k|    {
  196|  14.9k|        auto r = TestXSpanCG<T>::make_span_p_s(buf, bytes);
  197|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  14.9k|    }
  199|  14.9k|    {
  200|  14.9k|        auto r = TestXSpanCG<T>::make_span_s_s(buf, bytes);
  201|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  14.9k|    }
  203|  14.9k|    {
  204|  14.9k|        auto r = TestXSpanCG<T>::var_span_0(buf, bytes);
  205|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  14.9k|    }
  207|  14.9k|    {
  208|  14.9k|        auto r = TestXSpanCG<T>::var_span_p(buf, bytes);
  209|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  210|  14.9k|    }
  211|  14.9k|    {
  212|  14.9k|        auto r = TestXSpanCG<T>::var_span_s(buf, bytes);
  213|  14.9k|        CHECK(r == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  214|  14.9k|    }
  215|  14.9k|    {
  216|  14.9k|        auto r = TestXSpanCG<T>::type_cast_0(buf, bytes);
  217|  14.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  218|  14.9k|    }
  219|  14.9k|    {
  220|  14.9k|        auto r = TestXSpanCG<T>::type_cast_p(buf, bytes);
  221|  14.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  222|  14.9k|    }
  223|  14.9k|    {
  224|  14.9k|        auto r = TestXSpanCG<T>::type_cast_s(buf, bytes);
  225|  14.9k|        CHECK(r == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  226|  14.9k|    }
  227|  14.9k|    {
  228|  14.9k|        auto r = TestXSpanCG<T>::invalidate_0(buf, bytes);
  229|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  230|       |        (void) r;
  231|       |#else
  232|  14.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  233|  14.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  234|  14.9k|#endif
  235|  14.9k|    }
  236|  14.9k|    {
  237|  14.9k|        auto r = TestXSpanCG<T>::invalidate_p(buf, bytes);
  238|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  239|       |        (void) r;
  240|       |#else
  241|  14.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  242|  14.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  14.9k|#endif
  244|  14.9k|    }
  245|  14.9k|    {
  246|  14.9k|        auto r = TestXSpanCG<T>::invalidate_s(buf, bytes);
  247|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  248|       |        (void) r;
  249|       |#else
  250|  14.9k|        CHECK(r != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  251|  14.9k|        CHECK(r != nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  14.9k|#endif
  253|  14.9k|    }
  254|  14.9k|    {
  255|  14.9k|        auto r0 = TestXSpanCG<T>::var_span_0(buf, bytes);
  256|  14.9k|        auto r1 = TestXSpanCG<T>::var_span_0(buf + 1, bytes - sizeof(T));
  257|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  258|  14.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  259|  14.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  260|  14.9k|    }
  261|  14.9k|    {
  262|  14.9k|        auto r0 = TestXSpanCG<T>::var_span_p(buf, bytes);
  263|  14.9k|        auto r1 = TestXSpanCG<T>::var_span_p(buf + 1, bytes - sizeof(T));
  264|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  265|  14.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  266|  14.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  267|  14.9k|    }
  268|  14.9k|    {
  269|  14.9k|        auto r0 = TestXSpanCG<T>::var_span_s(buf, bytes);
  270|  14.9k|        auto r1 = TestXSpanCG<T>::var_span_s(buf + 1, bytes - sizeof(T));
  271|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  14.9k|        CHECK((r0 - r1 == -1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  14.9k|        CHECK((r1 - r0 == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  14.9k|    }
  275|  14.9k|    {
  276|  14.9k|        auto r0 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  14.9k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  278|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  279|  14.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  14.9k|    }
  281|  14.9k|    {
  282|  14.9k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  14.9k|        auto r1 = XSPAN_0_MAKE(T, nullptr);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  14.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  14.9k|    }
  287|  14.9k|    {
  288|  14.9k|        auto r0 = XSPAN_0_MAKE(const T, nullptr);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  14.9k|        auto r1 = XSPAN_0_MAKE(const T, XSPAN_0_MAKE(T, nullptr));
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|  14.9k|        CHECK(std::is_same_v<decltype(r0 - r1), ptrdiff_t>);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  291|  14.9k|        CHECK((r0 - r1 == 0));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  292|  14.9k|    }
  293|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  294|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  299|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  300|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  301|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  302|  14.9k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  14.9k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  304|  14.9k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  305|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_0(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_p(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_s(buf, bytes) == upx::ptr_static_cast<LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  308|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  309|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  311|       |#if defined(__CHERI__) && defined(__CHERI_PURE_CAPABILITY__)
  312|       |#else
  313|  14.9k|    CHECK(TestXSpanCG<T>::invalidate_0(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  314|  14.9k|    CHECK(TestXSpanCG<T>::invalidate_p(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  14.9k|    CHECK(TestXSpanCG<T>::invalidate_s(buf, bytes) != buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  14.9k|#endif
  317|  14.9k|    (void) buf;
  318|  14.9k|    (void) bytes;
  319|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_0EPim:
   42|  29.8k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   43|  29.8k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   44|  29.8k|        (void) bytes;
   45|  29.8k|        return r;
   46|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_0EPim:
   47|  29.8k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   48|  29.8k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   49|  29.8k|        (void) bytes;
   50|  29.8k|        return r;
   51|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_0EPim:
   52|  29.8k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   53|  29.8k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  29.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  29.8k|        (void) bytes;
   55|  29.8k|        return r;
   56|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_pEPim:
   58|  29.8k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   59|  29.8k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|  29.8k|        (void) bytes;
   61|  29.8k|        return r;
   62|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_pEPim:
   63|  29.8k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   64|  29.8k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  29.8k|        (void) bytes;
   66|  29.8k|        return r;
   67|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_pEPim:
   68|  29.8k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   69|  29.8k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  29.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|  29.8k|        (void) bytes;
   71|  29.8k|        return r;
   72|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_0_sEPim:
   74|  29.8k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   75|  29.8k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  29.8k|        (void) bytes;
   77|  29.8k|        return r;
   78|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_p_sEPim:
   79|  29.8k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   80|  29.8k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  29.8k|        (void) bytes;
   82|  29.8k|        return r;
   83|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE13make_span_s_sEPim:
   84|  29.8k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   85|  29.8k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  29.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  29.8k|        (void) bytes;
   87|  29.8k|        return r;
   88|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_0EPim:
   91|  59.6k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   92|  59.6k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  59.6k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  59.6k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  59.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  59.6k|        (void) bytes;
   94|  59.6k|        return r;
   95|  59.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_pEPim:
   96|  59.6k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   97|  59.6k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  59.6k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  59.6k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  59.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  59.6k|        (void) bytes;
   99|  59.6k|        return r;
  100|  59.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE10var_span_sEPim:
  101|  59.6k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  102|  59.6k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  59.6k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  59.6k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  59.6k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  59.6k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  59.6k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  59.6k|        (void) bytes;
  104|  59.6k|        return r;
  105|  59.6k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_0EPim:
  108|  29.8k|    static noinline XSPAN_0(LE32) type_cast_0(T *p, size_t bytes) {
  109|  29.8k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  29.8k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  29.8k|        (void) bytes;
  111|  29.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  112|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_pEPim:
  113|  29.8k|    static noinline XSPAN_P(LE32) type_cast_p(T *p, size_t bytes) {
  114|  29.8k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  29.8k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  115|  29.8k|        (void) bytes;
  116|  29.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE11type_cast_sEPim:
  118|  29.8k|    static noinline XSPAN_S(LE32) type_cast_s(T *p, size_t bytes) {
  119|  29.8k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  29.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  29.8k|        (void) bytes;
  121|  29.8k|        return XSPAN_TYPE_CAST(LE32, r);
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  122|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_0EPim:
  141|  29.8k|    static noinline XSPAN_0(T) invalidate_0(T *p, size_t bytes) {
  142|  29.8k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  29.8k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  29.8k|        (void) bytes;
  144|  29.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  145|  29.8k|        return r;
  146|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_pEPim:
  147|  29.8k|    static noinline XSPAN_P(T) invalidate_p(T *p, size_t bytes) {
  148|  29.8k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  29.8k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|  29.8k|        (void) bytes;
  150|  29.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  151|  29.8k|        return r;
  152|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE12invalidate_sEPim:
  153|  29.8k|    static noinline XSPAN_S(T) invalidate_s(T *p, size_t bytes) {
  154|  29.8k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  29.8k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  29.8k|        (void) bytes;
  156|  29.8k|        XSPAN_INVALIDATE(r);
  ------------------
  |  |  126|  29.8k|#define XSPAN_INVALIDATE(x) ((x).invalidate())
  ------------------
  157|  29.8k|        return r;
  158|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_0EPim:
  124|  14.9k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  125|  14.9k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.9k|        (void) bytes;
  127|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_pEPim:
  129|  14.9k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  130|  14.9k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.9k|        (void) bytes;
  132|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  133|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIiE17type_cast_const_sEPim:
  134|  14.9k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  135|  14.9k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.9k|        (void) bytes;
  137|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  138|  14.9k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  321|  14.9k|TEST_CASE("xspan codegen const") {
  322|  14.9k|    typedef const byte T;
  323|       |    // typedef const int T;
  324|  14.9k|    T buf[4] = {0, 1, 2, 3};
  325|  14.9k|    const size_t bytes = acc_vget_acc_hsize_t(sizeof(buf), 0);
  326|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  327|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  328|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  329|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  14.9k|    CHECK(TestXSpanCG<T>::make_span_0_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  14.9k|    CHECK(TestXSpanCG<T>::make_span_p_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  14.9k|    CHECK(TestXSpanCG<T>::make_span_s_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|  14.9k|    CHECK(TestXSpanCG<T>::var_span_0(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  336|  14.9k|    CHECK(TestXSpanCG<T>::var_span_p(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|  14.9k|    CHECK(TestXSpanCG<T>::var_span_s(buf, bytes) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_0(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_p(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|  14.9k|    CHECK(TestXSpanCG<T>::type_cast_const_s(buf, bytes) == upx::ptr_static_cast<const LE32 *>(buf));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|  14.9k|    (void) buf;
  342|  14.9k|    (void) bytes;
  343|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_0EPS1_m:
   42|  14.9k|    static noinline XSPAN_0(T) make_span_0_0(T *p, size_t bytes) {
   43|  14.9k|        XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   44|  14.9k|        (void) bytes;
   45|  14.9k|        return r;
   46|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_0EPS1_m:
   47|  14.9k|    static noinline XSPAN_P(T) make_span_p_0(T *p, size_t bytes) {
   48|  14.9k|        XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   49|  14.9k|        (void) bytes;
   50|  14.9k|        return r;
   51|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_0EPS1_m:
   52|  14.9k|    static noinline XSPAN_S(T) make_span_s_0(T *p, size_t bytes) {
   53|  14.9k|        XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_0_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.9k|        (void) bytes;
   55|  14.9k|        return r;
   56|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_pEPS1_m:
   58|  14.9k|    static noinline XSPAN_0(T) make_span_0_p(T *p, size_t bytes) {
   59|  14.9k|        XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   60|  14.9k|        (void) bytes;
   61|  14.9k|        return r;
   62|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_pEPS1_m:
   63|  14.9k|    static noinline XSPAN_P(T) make_span_p_p(T *p, size_t bytes) {
   64|  14.9k|        XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  14.9k|        (void) bytes;
   66|  14.9k|        return r;
   67|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_pEPS1_m:
   68|  14.9k|    static noinline XSPAN_S(T) make_span_s_p(T *p, size_t bytes) {
   69|  14.9k|        XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_P_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   96|  14.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   70|  14.9k|        (void) bytes;
   71|  14.9k|        return r;
   72|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_0_sEPS1_m:
   74|  14.9k|    static noinline XSPAN_0(T) make_span_0_s(T *p, size_t bytes) {
   75|  14.9k|        XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  14.9k|        (void) bytes;
   77|  14.9k|        return r;
   78|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_p_sEPS1_m:
   79|  14.9k|    static noinline XSPAN_P(T) make_span_p_s(T *p, size_t bytes) {
   80|  14.9k|        XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  14.9k|        (void) bytes;
   82|  14.9k|        return r;
   83|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE13make_span_s_sEPS1_m:
   84|  14.9k|    static noinline XSPAN_S(T) make_span_s_s(T *p, size_t bytes) {
   85|  14.9k|        XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(T) r = XSPAN_S_MAKE(T, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |   97|  14.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   86|  14.9k|        (void) bytes;
   87|  14.9k|        return r;
   88|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_0EPS1_m:
   91|  14.9k|    static noinline XSPAN_0(T) var_span_0(T *p, size_t bytes) {
   92|  14.9k|        XSPAN_0_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   93|  14.9k|        (void) bytes;
   94|  14.9k|        return r;
   95|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_pEPS1_m:
   96|  14.9k|    static noinline XSPAN_P(T) var_span_p(T *p, size_t bytes) {
   97|  14.9k|        XSPAN_P_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.9k|        (void) bytes;
   99|  14.9k|        return r;
  100|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE10var_span_sEPS1_m:
  101|  14.9k|    static noinline XSPAN_S(T) var_span_s(T *p, size_t bytes) {
  102|  14.9k|        XSPAN_S_VAR(T, r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.9k|        (void) bytes;
  104|  14.9k|        return r;
  105|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_0EPS1_m:
  124|  14.9k|    static noinline XSPAN_0(const LE32) type_cast_const_0(T *p, size_t bytes) {
  125|  14.9k|        XSPAN_0_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.9k|        (void) bytes;
  127|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_pEPS1_m:
  129|  14.9k|    static noinline XSPAN_P(const LE32) type_cast_const_p(T *p, size_t bytes) {
  130|  14.9k|        XSPAN_P_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.9k|        (void) bytes;
  132|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  133|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestXSpanCGIKhE17type_cast_const_sEPS1_m:
  134|  14.9k|    static noinline XSPAN_S(const LE32) type_cast_const_s(T *p, size_t bytes) {
  135|  14.9k|        XSPAN_S_VAR(T, const r, p, XSpanSizeInBytes(bytes));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.9k|        (void) bytes;
  137|  14.9k|        return XSPAN_TYPE_CAST(const LE32, r);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  138|  14.9k|    }
dt_cxxlib.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  349|  14.9k|TEST_CASE("std::vector") {
  350|  14.9k|    constexpr size_t N = 16;
  351|  14.9k|    std::vector<int> v(N);
  352|  14.9k|    CHECK(v.end() - v.begin() == N);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|  14.9k|    CHECK(&v[0] == &(*(v.begin())));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  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.9k|    UNUSED(v);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  361|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_119DOCTEST_ANON_FUNC_8Ev:
  400|  14.9k|TEST_CASE("UPX_CXX_DISABLE_xxx") {
  401|  14.9k|    MyType1<char, int, 1> dummy1;
  402|  14.9k|    MyType2<char, int, 2> dummy2;
  403|  14.9k|    MyVType1<char, int, 1> vdummy1;
  404|  14.9k|    MyVType2<char, int, 2> vdummy2;
  405|  14.9k|    (void) dummy1;
  406|  14.9k|    (void) dummy2;
  407|  14.9k|    (void) vdummy1;
  408|  14.9k|    (void) vdummy2;
  409|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType1IciLi1EEC2Ev:
  370|  14.9k|    MyType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_17MyType2IciLi2EEC2Ev:
  377|  14.9k|    MyType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EEC2Ev:
  385|  14.9k|    MyVType1() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EEC2Ev:
  393|  14.9k|    MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType2IciLi2EED2Ev:
  394|  14.9k|    virtual ~MyVType2() noexcept {}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_18MyVType1IciLi1EED2Ev:
  386|  14.9k|    virtual ~MyVType1() noexcept {}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  480|  14.9k|TEST_CASE("upx::noncopyable") {
  481|  14.9k|    struct Test : private upx::noncopyable {
  482|  14.9k|        int v = 1;
  483|  14.9k|    };
  484|  14.9k|    Test t = {};
  485|  14.9k|    CHECK(t.v == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  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.9k|    mem_clear(&t);
  491|  14.9k|#endif
  492|  14.9k|    CHECK(t.v == 0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.9k|    constexpr Test x = {};
  494|  14.9k|    static_assert(x.v == 1);
  495|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  687|  14.9k|TEST_CASE("upx::ptr_static_cast") {
  688|       |    // check that we do not trigger any -Wcast-align warnings
  689|  14.9k|    using upx::ptr_static_cast;
  690|       |
  691|  14.9k|    void *vp = nullptr;
  692|  14.9k|    byte *bp = nullptr;
  693|  14.9k|    int *ip = nullptr;
  694|  14.9k|    double *dp = nullptr;
  695|       |
  696|  14.9k|    assert((vp == ptr_static_cast<void *>(vp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  697|  14.9k|    assert((vp == ptr_static_cast<void *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  698|  14.9k|    assert((vp == ptr_static_cast<void *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  699|  14.9k|    assert((vp == ptr_static_cast<void *>(dp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  700|       |
  701|  14.9k|    assert((bp == ptr_static_cast<byte *>(vp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  702|  14.9k|    assert((bp == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  703|  14.9k|    assert((bp == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  704|  14.9k|    assert((bp == ptr_static_cast<byte *>(dp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  705|       |
  706|  14.9k|    assert((ip == ptr_static_cast<int *>(vp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  707|  14.9k|    assert((ip == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  708|  14.9k|    assert((ip == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  709|  14.9k|    assert((ip == ptr_static_cast<int *>(dp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  710|       |
  711|  14.9k|    assert((dp == ptr_static_cast<double *>(vp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  712|  14.9k|    assert((dp == ptr_static_cast<double *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  713|  14.9k|    assert((dp == ptr_static_cast<double *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  714|  14.9k|    assert((dp == ptr_static_cast<double *>(dp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  715|       |
  716|      0|    const byte *bc = nullptr;
  717|  14.9k|    const int *ic = nullptr;
  718|  14.9k|    assert((bc == ptr_static_cast<byte *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  719|  14.9k|    assert((bc == ptr_static_cast<const byte *>(bc)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  720|  14.9k|    assert((bc == ptr_static_cast<byte *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  721|  14.9k|    assert((bc == ptr_static_cast<const byte *>(ic)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  722|  14.9k|    assert((ic == ptr_static_cast<int *>(bp)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  723|  14.9k|    assert((ic == ptr_static_cast<const int *>(bc)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  724|  14.9k|    assert((ic == ptr_static_cast<int *>(ip)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  725|  14.9k|    assert((ic == ptr_static_cast<const int *>(ic)));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  726|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_14v:
  728|  14.9k|TEST_CASE("upx::ptr_static_cast constexpr 1") {
  729|       |    // check that casts work at compile-time
  730|  14.9k|    using upx::ptr_static_cast;
  731|       |
  732|  14.9k|    constexpr void *vp = nullptr;
  733|  14.9k|    constexpr byte *bp = nullptr;
  734|  14.9k|    constexpr int *ip = nullptr;
  735|  14.9k|    constexpr double *dp = nullptr;
  736|  14.9k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  737|  14.9k|    static_assert((bp == ptr_static_cast<byte *>(bp)));
  738|  14.9k|    static_assert((ip == ptr_static_cast<int *>(ip)));
  739|  14.9k|    static_assert((dp == ptr_static_cast<double *>(dp)));
  740|       |
  741|  14.9k|    constexpr const void *vc = nullptr;
  742|  14.9k|    constexpr const byte *bc = nullptr;
  743|  14.9k|    constexpr const int *ic = nullptr;
  744|  14.9k|    constexpr const double *dc = nullptr;
  745|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  746|  14.9k|    static_assert((bc == ptr_static_cast<const byte *>(bc)));
  747|  14.9k|    static_assert((ic == ptr_static_cast<const int *>(ic)));
  748|  14.9k|    static_assert((dc == ptr_static_cast<const double *>(dc)));
  749|       |
  750|  14.9k|    constexpr void **vpp = nullptr;
  751|  14.9k|    constexpr byte **bpp = nullptr;
  752|  14.9k|    constexpr int **ipp = nullptr;
  753|  14.9k|    constexpr double **dpp = nullptr;
  754|  14.9k|    static_assert((vpp == ptr_static_cast<void **>(vpp)));
  755|  14.9k|    static_assert((bpp == ptr_static_cast<byte **>(bpp)));
  756|  14.9k|    static_assert((ipp == ptr_static_cast<int **>(ipp)));
  757|  14.9k|    static_assert((dpp == ptr_static_cast<double **>(dpp)));
  758|       |
  759|  14.9k|    constexpr const void **vcp = nullptr;
  760|  14.9k|    constexpr const byte **bcp = nullptr;
  761|  14.9k|    constexpr const int **icp = nullptr;
  762|  14.9k|    constexpr const double **dcp = nullptr;
  763|  14.9k|    static_assert((vcp == ptr_static_cast<const void **>(vcp)));
  764|  14.9k|    static_assert((bcp == ptr_static_cast<const byte **>(bcp)));
  765|  14.9k|    static_assert((icp == ptr_static_cast<const int **>(icp)));
  766|  14.9k|    static_assert((dcp == ptr_static_cast<const double **>(dcp)));
  767|       |
  768|  14.9k|    constexpr void *const *vpc = nullptr;
  769|  14.9k|    constexpr byte *const *bpc = nullptr;
  770|  14.9k|    constexpr int *const *ipc = nullptr;
  771|  14.9k|    constexpr double *const *dpc = nullptr;
  772|  14.9k|    static_assert((vpc == ptr_static_cast<void *const *>(vpc)));
  773|  14.9k|    static_assert((bpc == ptr_static_cast<byte *const *>(bpc)));
  774|  14.9k|    static_assert((ipc == ptr_static_cast<int *const *>(ipc)));
  775|  14.9k|    static_assert((dpc == ptr_static_cast<double *const *>(dpc)));
  776|       |
  777|  14.9k|    constexpr const void *const *vcc = nullptr;
  778|  14.9k|    constexpr const byte *const *bcc = nullptr;
  779|  14.9k|    constexpr const int *const *icc = nullptr;
  780|  14.9k|    constexpr const double *const *dcc = nullptr;
  781|  14.9k|    static_assert((vcc == ptr_static_cast<const void *const *>(vcc)));
  782|  14.9k|    static_assert((bcc == ptr_static_cast<const byte *const *>(bcc)));
  783|  14.9k|    static_assert((icc == ptr_static_cast<const int *const *>(icc)));
  784|  14.9k|    static_assert((dcc == ptr_static_cast<const double *const *>(dcc)));
  785|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_16v:
  787|  14.9k|TEST_CASE("upx::ptr_static_cast constexpr 2") {
  788|       |    // check that casts work at compile-time
  789|  14.9k|    using upx::ptr_static_cast;
  790|       |
  791|  14.9k|    constexpr void *vp = nullptr;
  792|  14.9k|    constexpr byte *bp = nullptr;
  793|  14.9k|    constexpr int *ip = nullptr;
  794|  14.9k|    constexpr double *dp = nullptr;
  795|  14.9k|    static_assert((vp == static_cast<void *>(vp)));
  796|  14.9k|    static_assert((vp == static_cast<void *>(bp)));
  797|  14.9k|    static_assert((vp == static_cast<void *>(ip)));
  798|  14.9k|    static_assert((vp == static_cast<void *>(dp)));
  799|  14.9k|    static_assert((vp == ptr_static_cast<void *>(vp)));
  800|  14.9k|    static_assert((vp == ptr_static_cast<void *>(bp)));
  801|  14.9k|    static_assert((vp == ptr_static_cast<void *>(ip)));
  802|  14.9k|    static_assert((vp == ptr_static_cast<void *>(dp)));
  803|       |
  804|  14.9k|    constexpr const void *vc = nullptr;
  805|  14.9k|    constexpr const byte *bc = nullptr;
  806|  14.9k|    constexpr const int *ic = nullptr;
  807|  14.9k|    constexpr const double *dc = nullptr;
  808|  14.9k|    static_assert((vc == static_cast<const void *>(vp)));
  809|  14.9k|    static_assert((vc == static_cast<const void *>(bp)));
  810|  14.9k|    static_assert((vc == static_cast<const void *>(ip)));
  811|  14.9k|    static_assert((vc == static_cast<const void *>(dp)));
  812|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(vp)));
  813|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(dp)));
  814|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(bp)));
  815|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(ip)));
  816|  14.9k|    static_assert((vc == static_cast<const void *>(vc)));
  817|  14.9k|    static_assert((vc == static_cast<const void *>(bc)));
  818|  14.9k|    static_assert((vc == static_cast<const void *>(ic)));
  819|  14.9k|    static_assert((vc == static_cast<const void *>(dc)));
  820|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(vc)));
  821|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(dc)));
  822|  14.9k|    static_assert((vc == ptr_static_cast<const void *>(bc)));
  823|  14.9k|    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.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_18v:
  853|  14.9k|TEST_CASE("upx::atomic_exchange") {
  854|  14.9k|    {
  855|  14.9k|        upx_uintptr_t x = (upx_uintptr_t) 0 - 1;
  856|  14.9k|        upx_uintptr_t y = upx::atomic_exchange(&x, (upx_uintptr_t) 2);
  857|  14.9k|        CHECK_EQ(x, 2);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  858|  14.9k|        CHECK_EQ(y, (upx_uintptr_t) 0 - 1);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  859|  14.9k|        UNUSED(y);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  860|  14.9k|    }
  861|  14.9k|    {
  862|  14.9k|        const int buf[2] = {101, 202};
  863|  14.9k|        const int *ptr_array[2] = {&buf[0], &buf[1]};
  864|  14.9k|        assert_noexcept(*ptr_array[0] == 101 && *ptr_array[1] == 202);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, 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.9k|        CHECK_EQ(p, buf + 0);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  867|  14.9k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 202);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  868|      0|        p = upx::atomic_exchange(&ptr_array[1], p);
  869|  14.9k|        CHECK_EQ(p, buf + 1);
  ------------------
  |  | 3016|  14.9k|#define CHECK_EQ(...) DOCTEST_CHECK_EQ(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2455|  14.9k|#define DOCTEST_CHECK_EQ(...) DOCTEST_BINARY_ASSERT(DT_CHECK_EQ, eq, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2399|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2400|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2401|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2402|  14.9k|        DOCTEST_WRAP_IN_TRY(                                                                       \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2403|  14.9k|                DOCTEST_RB.binary_assert<doctest::detail::binaryAssertComparison::comp>(           \
  |  |  |  |  |  | 2404|  14.9k|                        __VA_ARGS__))                                                              \
  |  |  |  |  |  | 2405|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2406|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  870|  14.9k|        assert_noexcept(*ptr_array[0] == 202 && *ptr_array[1] == 101);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  871|  14.9k|        UNUSED(p);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  872|  14.9k|    }
  873|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_20v:
  875|  14.9k|TEST_CASE("upx::ObjectDeleter 1") {
  876|  14.9k|    LE16 *o = nullptr; // object
  877|  14.9k|    LE32 *a = nullptr; // array
  878|  14.9k|    LE64 *m = nullptr; // malloc
  879|  14.9k|    {
  880|       |        // auto o_deleter = upx::ObjectDeleter(&o, 1);
  881|  14.9k|        upx::ObjectDeleter<LE16> o_deleter = upx::ObjectDeleter(&o, 1);
  882|  14.9k|        o = new LE16;
  883|  14.9k|        assert(o != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  884|      0|        auto a_deleter = upx::ArrayDeleter(&a, 1);
  885|  14.9k|        a = New(LE32, 1);
  ------------------
  |  |   90|  14.9k|#define New(type, n) (NewT<type>((n)))
  ------------------
  886|  14.9k|        assert(a != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  887|      0|        auto m_deleter = upx::MallocDeleter(&m, 1);
  888|  14.9k|        m = (LE64 *) ::malloc(sizeof(LE64));
  889|  14.9k|        assert(m != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  890|  14.9k|    }
  891|  14.9k|    assert(o == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  892|  14.9k|    assert(a == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  893|  14.9k|    assert(m == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  894|       |    // test "const" versions
  895|      0|    {
  896|  14.9k|        const auto o_deleter = upx::ObjectDeleter(&o, 1);
  897|  14.9k|        o = new LE16;
  898|  14.9k|        assert(o != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  899|      0|        const auto a_deleter = upx::ArrayDeleter(&a, 1);
  900|  14.9k|        a = New(LE32, 1);
  ------------------
  |  |   90|  14.9k|#define New(type, n) (NewT<type>((n)))
  ------------------
  901|  14.9k|        assert(a != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  902|      0|        const auto m_deleter = upx::MallocDeleter(&m, 1);
  903|  14.9k|        m = (LE64 *) ::malloc(sizeof(LE64));
  904|  14.9k|        assert(m != nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  905|  14.9k|    }
  906|  14.9k|    assert(o == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  907|  14.9k|    assert(a == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  908|  14.9k|    assert(m == nullptr);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  909|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_22v:
  911|  14.9k|TEST_CASE("upx::ObjectDeleter 2") {
  912|  14.9k|    constexpr size_t N = 2;
  913|  14.9k|    BE16 *o[N]; // multiple objects
  914|  14.9k|    BE32 *a[N]; // multiple arrays
  915|  14.9k|    BE64 *m[N]; // multiple mallocs
  916|  14.9k|    {
  917|       |        // auto o_deleter = upx::ObjectDeleter(o, 0);
  918|  14.9k|        upx::ObjectDeleter<BE16> o_deleter = upx::ObjectDeleter(o, 0);
  919|  14.9k|        auto a_deleter = upx::ArrayDeleter(a, 0);
  920|  14.9k|        auto m_deleter = upx::MallocDeleter(m, 0);
  921|  44.7k|        for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (921:28): [True: 29.8k, False: 14.9k]
  ------------------
  922|  29.8k|            o[i] = new BE16;
  923|  29.8k|            assert(o[i] != nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  924|      0|            o_deleter.count += 1;
  925|  29.8k|            a[i] = New(BE32, 1 + i);
  ------------------
  |  |   90|  29.8k|#define New(type, n) (NewT<type>((n)))
  ------------------
  926|  29.8k|            assert(a[i] != nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  927|      0|            a_deleter.count += 1;
  928|  29.8k|            m[i] = (BE64 *) ::malloc(sizeof(BE64));
  929|  29.8k|            assert(m[i] != nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  930|      0|            m_deleter.count += 1;
  931|  29.8k|        }
  932|  14.9k|    }
  933|  44.7k|    for (size_t i = 0; i < N; i++) {
  ------------------
  |  Branch (933:24): [True: 29.8k, False: 14.9k]
  ------------------
  934|  29.8k|        assert(o[i] == nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  935|  29.8k|        assert(a[i] == nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  936|  29.8k|        assert(m[i] == nullptr);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  937|  29.8k|    }
  938|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_24v:
 1311|  14.9k|TEST_CASE("upx::compile_time") {
 1312|  14.9k|    constexpr upx_uint16_t v16 = 0x0201;
 1313|  14.9k|    constexpr upx_uint32_t v24 = 0x030201;
 1314|  14.9k|    constexpr upx_uint32_t v32 = 0x04030201;
 1315|  14.9k|    constexpr upx_uint64_t v64 = 0x0807060504030201ull;
 1316|  14.9k|    {
 1317|  14.9k|        static_assert(upx::compile_time::bswap16(v16) == 0x0102);
 1318|  14.9k|        static_assert(upx::compile_time::bswap32(v32) == 0x01020304);
 1319|  14.9k|        static_assert(upx::compile_time::bswap64(v64) == 0x0102030405060708ull);
 1320|  14.9k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0x0102);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1321|  14.9k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0x01020304);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1322|  14.9k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0x0102030405060708ull);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1323|  14.9k|    }
 1324|      0|    {
 1325|  14.9k|        constexpr const byte d[8] = {1, 2, 3, 4, 5, 6, 7, 8};
 1326|  14.9k|        static_assert(upx::compile_time::get_be16(d) == 0x0102);
 1327|  14.9k|        static_assert(upx::compile_time::get_be24(d) == 0x010203);
 1328|  14.9k|        static_assert(upx::compile_time::get_be32(d) == 0x01020304);
 1329|  14.9k|        static_assert(upx::compile_time::get_be64(d) == 0x0102030405060708ull);
 1330|  14.9k|        static_assert(upx::compile_time::get_le16(d) == 0x0201);
 1331|  14.9k|        static_assert(upx::compile_time::get_le24(d) == 0x030201);
 1332|  14.9k|        static_assert(upx::compile_time::get_le32(d) == 0x04030201);
 1333|  14.9k|        static_assert(upx::compile_time::get_le64(d) == 0x0807060504030201ull);
 1334|  14.9k|    }
 1335|  14.9k|    {
 1336|  14.9k|        using upx::compile_time::mem_eq;
 1337|  14.9k|        upx_alignas_max byte aligned_buffer[16] = {};
  ------------------
  |  |  157|  14.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1338|  14.9k|        upx::compile_time::mem_set(aligned_buffer, 0xff, 16);
 1339|  14.9k|        assert_noexcept(mem_eq(aligned_buffer, aligned_buffer + 8, 8));
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1340|      0|        byte *const buf = aligned_buffer + 7;
 1341|       |
 1342|  14.9k|        constexpr auto be16 = TestCT::makeBE16(v16);
 1343|  14.9k|        static_assert(upx::compile_time::get_be16(be16.d) == v16);
 1344|  14.9k|        static_assert(mem_eq(be16.d, "\x02\x01", 2));
 1345|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1346|  14.9k|        TestCT::noinline_set_be16(buf, v16);
 1347|  14.9k|        assert_noexcept(TestCT::noinline_get_be16(buf) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1348|  14.9k|        assert_noexcept(upx::compile_time::get_be16(buf) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1349|  14.9k|        assert_noexcept(memcmp(buf, be16.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1350|       |
 1351|      0|        constexpr auto be24 = TestCT::makeBE24(v24);
 1352|  14.9k|        static_assert(upx::compile_time::get_be24(be24.d) == v24);
 1353|  14.9k|        static_assert(mem_eq(be24.d, "\x03\x02\x01", 3));
 1354|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1355|  14.9k|        TestCT::noinline_set_be24(buf, v24);
 1356|  14.9k|        assert_noexcept(TestCT::noinline_get_be24(buf) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1357|  14.9k|        assert_noexcept(upx::compile_time::get_be24(buf) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1358|  14.9k|        assert_noexcept(memcmp(buf, be24.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1359|       |
 1360|      0|        constexpr auto be32 = TestCT::makeBE32(v32);
 1361|  14.9k|        static_assert(upx::compile_time::get_be32(be32.d) == v32);
 1362|  14.9k|        static_assert(mem_eq(be32.d, "\x04\x03\x02\x01", 4));
 1363|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1364|  14.9k|        TestCT::noinline_set_be32(buf, v32);
 1365|  14.9k|        assert_noexcept(TestCT::noinline_get_be32(buf) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1366|  14.9k|        assert_noexcept(upx::compile_time::get_be32(buf) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1367|  14.9k|        assert_noexcept(memcmp(buf, be32.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1368|       |
 1369|      0|        constexpr auto be64 = TestCT::makeBE64(v64);
 1370|  14.9k|        static_assert(upx::compile_time::get_be64(be64.d) == v64);
 1371|  14.9k|        static_assert(mem_eq(be64.d, "\x08\x07\x06\x05\x04\x03\x02\x01", 8));
 1372|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1373|  14.9k|        TestCT::noinline_set_be64(buf, v64);
 1374|  14.9k|        assert_noexcept(TestCT::noinline_get_be64(buf) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1375|  14.9k|        assert_noexcept(upx::compile_time::get_be64(buf) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1376|  14.9k|        assert_noexcept(memcmp(buf, be64.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1377|       |
 1378|      0|        constexpr auto le16 = TestCT::makeLE16(v16);
 1379|  14.9k|        static_assert(upx::compile_time::get_le16(le16.d) == v16);
 1380|  14.9k|        static_assert(mem_eq(le16.d, "\x01\x02", 2));
 1381|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1382|  14.9k|        TestCT::noinline_set_le16(buf, v16);
 1383|  14.9k|        assert_noexcept(TestCT::noinline_get_le16(buf) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1384|  14.9k|        assert_noexcept(upx::compile_time::get_le16(buf) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1385|  14.9k|        assert_noexcept(memcmp(buf, le16.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1386|       |
 1387|      0|        constexpr auto le24 = TestCT::makeLE24(v24);
 1388|  14.9k|        static_assert(upx::compile_time::get_le24(le24.d) == v24);
 1389|  14.9k|        static_assert(mem_eq(le24.d, "\x01\x02\x03", 3));
 1390|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1391|  14.9k|        TestCT::noinline_set_le24(buf, v24);
 1392|  14.9k|        assert_noexcept(TestCT::noinline_get_le24(buf) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1393|  14.9k|        assert_noexcept(upx::compile_time::get_le24(buf) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1394|  14.9k|        assert_noexcept(memcmp(buf, le24.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1395|       |
 1396|      0|        constexpr auto le32 = TestCT::makeLE32(v32);
 1397|  14.9k|        static_assert(upx::compile_time::get_le32(le32.d) == v32);
 1398|  14.9k|        static_assert(mem_eq(le32.d, "\x01\x02\x03\x04", 4));
 1399|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1400|  14.9k|        TestCT::noinline_set_le32(buf, v32);
 1401|  14.9k|        assert_noexcept(TestCT::noinline_get_le32(buf) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1402|  14.9k|        assert_noexcept(upx::compile_time::get_le32(buf) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1403|  14.9k|        assert_noexcept(memcmp(buf, le32.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1404|       |
 1405|      0|        constexpr auto le64 = TestCT::makeLE64(v64);
 1406|  14.9k|        static_assert(upx::compile_time::get_le64(le64.d) == v64);
 1407|  14.9k|        static_assert(mem_eq(le64.d, "\x01\x02\x03\x04\x05\x06\x07\x08", 8));
 1408|  14.9k|        upx::compile_time::mem_clear(buf, 8);
 1409|  14.9k|        TestCT::noinline_set_le64(buf, v64);
 1410|  14.9k|        assert_noexcept(TestCT::noinline_get_le64(buf) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1411|  14.9k|        assert_noexcept(upx::compile_time::get_le64(buf) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1412|  14.9k|        assert_noexcept(memcmp(buf, le64.d, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1413|       |
 1414|      0|        static_assert(upx::compile_time::bswap16(upx::compile_time::get_be16(be16.d)) ==
 1415|  14.9k|                      upx::compile_time::get_be16(le16.d));
 1416|  14.9k|        static_assert(upx::compile_time::bswap32(upx::compile_time::get_be32(be32.d)) ==
 1417|  14.9k|                      upx::compile_time::get_be32(le32.d));
 1418|  14.9k|        static_assert(upx::compile_time::bswap64(upx::compile_time::get_be64(be64.d)) ==
 1419|  14.9k|                      upx::compile_time::get_be64(le64.d));
 1420|  14.9k|        assert_noexcept(TestCT::noinline_bswap16(TestCT::noinline_get_be16(be16.d)) ==
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1421|  14.9k|                        TestCT::noinline_get_be16(le16.d));
 1422|  14.9k|        assert_noexcept(TestCT::noinline_bswap32(TestCT::noinline_get_be32(be32.d)) ==
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1423|  14.9k|                        TestCT::noinline_get_be32(le32.d));
 1424|  14.9k|        assert_noexcept(TestCT::noinline_bswap64(TestCT::noinline_get_be64(be64.d)) ==
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1425|  14.9k|                        TestCT::noinline_get_be64(le64.d));
 1426|  14.9k|    }
 1427|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap16Et:
 1028|  44.7k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept {
 1029|  44.7k|        return upx::compile_time::bswap16(v);
  ------------------
  |  |  347|  44.7k|#define bswap16 upx_bswap16
  ------------------
 1030|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap32Ej:
 1031|  44.7k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept {
 1032|  44.7k|        return upx::compile_time::bswap32(v);
  ------------------
  |  |  348|  44.7k|#define bswap32 upx_bswap32
  ------------------
 1033|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT16noinline_bswap64Ey:
 1034|  44.7k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept {
 1035|  44.7k|        return upx::compile_time::bswap64(v);
  ------------------
  |  |  349|  44.7k|#define bswap64 upx_bswap64
  ------------------
 1036|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be16EPht:
 1063|  29.8k|    static noinline void noinline_set_be16(byte * p, upx_uint16_t v) noexcept {
 1064|  29.8k|        upx::compile_time::set_be16(p, v);
 1065|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be16EPKh:
 1038|  74.5k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept {
 1039|  74.5k|        return upx::compile_time::get_be16(p);
 1040|  74.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be24EPhj:
 1066|  29.8k|    static noinline void noinline_set_be24(byte * p, upx_uint32_t v) noexcept {
 1067|  29.8k|        upx::compile_time::set_be24(p, v);
 1068|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be24EPKh:
 1041|  44.7k|    static noinline upx_uint32_t noinline_get_be24(const byte *p) noexcept {
 1042|  44.7k|        return upx::compile_time::get_be24(p);
 1043|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be32EPhj:
 1069|  29.8k|    static noinline void noinline_set_be32(byte * p, upx_uint32_t v) noexcept {
 1070|  29.8k|        upx::compile_time::set_be32(p, v);
 1071|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be32EPKh:
 1044|  74.5k|    static noinline upx_uint32_t noinline_get_be32(const byte *p) noexcept {
 1045|  74.5k|        return upx::compile_time::get_be32(p);
 1046|  74.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_be64EPhy:
 1072|  29.8k|    static noinline void noinline_set_be64(byte * p, upx_uint64_t v) noexcept {
 1073|  29.8k|        upx::compile_time::set_be64(p, v);
 1074|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_be64EPKh:
 1047|  74.5k|    static noinline upx_uint64_t noinline_get_be64(const byte *p) noexcept {
 1048|  74.5k|        return upx::compile_time::get_be64(p);
 1049|  74.5k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le16EPht:
 1075|  29.8k|    static noinline void noinline_set_le16(byte * p, upx_uint16_t v) noexcept {
 1076|  29.8k|        upx::compile_time::set_le16(p, v);
 1077|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le16EPKh:
 1050|  44.7k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept {
 1051|  44.7k|        return upx::compile_time::get_le16(p);
 1052|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le24EPhj:
 1078|  29.8k|    static noinline void noinline_set_le24(byte * p, upx_uint32_t v) noexcept {
 1079|  29.8k|        upx::compile_time::set_le24(p, v);
 1080|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le24EPKh:
 1053|  44.7k|    static noinline upx_uint32_t noinline_get_le24(const byte *p) noexcept {
 1054|  44.7k|        return upx::compile_time::get_le24(p);
 1055|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le32EPhj:
 1081|  29.8k|    static noinline void noinline_set_le32(byte * p, upx_uint32_t v) noexcept {
 1082|  29.8k|        upx::compile_time::set_le32(p, v);
 1083|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le32EPKh:
 1056|  44.7k|    static noinline upx_uint32_t noinline_get_le32(const byte *p) noexcept {
 1057|  44.7k|        return upx::compile_time::get_le32(p);
 1058|  44.7k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_set_le64EPhy:
 1084|  29.8k|    static noinline void noinline_set_le64(byte * p, upx_uint64_t v) noexcept {
 1085|  29.8k|        upx::compile_time::set_le64(p, v);
 1086|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_get_le64EPKh:
 1059|  44.7k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept {
 1060|  44.7k|        return upx::compile_time::get_le64(p);
 1061|  44.7k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_26v:
 1429|  14.9k|TEST_CASE("upx::run_time 1a") {
 1430|  14.9k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1431|  14.9k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1432|  14.9k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1433|  14.9k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1434|  14.9k|    {
 1435|  14.9k|        assert_noexcept(TestCT::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1436|  14.9k|        assert_noexcept(TestCT::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1437|  14.9k|        assert_noexcept(TestCT::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1438|  14.9k|    }
 1439|      0|    {
 1440|  14.9k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  157|  14.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1441|  14.9k|        byte *const buf1 = aligned_buffer + 3;
 1442|  14.9k|        byte *const buf2 = aligned_buffer + 13;
 1443|       |
 1444|  14.9k|        upx::compile_time::set_be16(buf1, v16);
 1445|  14.9k|        TestCT::noinline_set_be16(buf2, v16);
 1446|  14.9k|        assert_noexcept(TestCT::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1447|  14.9k|        assert_noexcept(TestCT::noinline_get_be16(buf2) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1448|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1449|      0|        upx::compile_time::set_be24(buf1, v24);
 1450|  14.9k|        TestCT::noinline_set_be24(buf2, v24);
 1451|  14.9k|        assert_noexcept(TestCT::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1452|  14.9k|        assert_noexcept(TestCT::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1453|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1454|      0|        upx::compile_time::set_be32(buf1, v32);
 1455|  14.9k|        TestCT::noinline_set_be32(buf2, v32);
 1456|  14.9k|        assert_noexcept(TestCT::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1457|  14.9k|        assert_noexcept(TestCT::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1458|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1459|      0|        upx::compile_time::set_be64(buf1, v64);
 1460|  14.9k|        TestCT::noinline_set_be64(buf2, v64);
 1461|  14.9k|        assert_noexcept(TestCT::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1462|  14.9k|        assert_noexcept(TestCT::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1463|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1464|       |
 1465|      0|        upx::compile_time::set_le16(buf1, v16);
 1466|  14.9k|        TestCT::noinline_set_le16(buf2, v16);
 1467|  14.9k|        assert_noexcept(TestCT::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1468|  14.9k|        assert_noexcept(TestCT::noinline_get_le16(buf2) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1469|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1470|      0|        upx::compile_time::set_le24(buf1, v24);
 1471|  14.9k|        TestCT::noinline_set_le24(buf2, v24);
 1472|  14.9k|        assert_noexcept(TestCT::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1473|  14.9k|        assert_noexcept(TestCT::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1474|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1475|      0|        upx::compile_time::set_le32(buf1, v32);
 1476|  14.9k|        TestCT::noinline_set_le32(buf2, v32);
 1477|  14.9k|        assert_noexcept(TestCT::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1478|  14.9k|        assert_noexcept(TestCT::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1479|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1480|      0|        upx::compile_time::set_le64(buf1, v64);
 1481|  14.9k|        TestCT::noinline_set_le64(buf2, v64);
 1482|  14.9k|        assert_noexcept(TestCT::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1483|  14.9k|        assert_noexcept(TestCT::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1484|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1485|  14.9k|    }
 1486|  14.9k|}
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_28v:
 1488|  14.9k|TEST_CASE("upx::run_time 1b") {
 1489|  14.9k|    const upx_uint16_t v16 = upx_uint16_t(acc_vget_acc_int64l_t(0xf2f1, 0));
 1490|  14.9k|    const upx_uint32_t v24 = upx_uint32_t(acc_vget_acc_int64l_t(0xf3f2f1, 0));
 1491|  14.9k|    const upx_uint32_t v32 = upx_uint32_t(acc_vget_acc_int64l_t(0xf4f3f2f1, 0));
 1492|  14.9k|    const upx_uint64_t v64 = upx_uint64_t(acc_vget_acc_int64l_t(0xf8f7f6f5f4f3f2f1ull, 0));
 1493|  14.9k|    {
 1494|  14.9k|        assert_noexcept(TestXE::noinline_bswap16(v16) == 0xf1f2);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1495|  14.9k|        assert_noexcept(TestXE::noinline_bswap32(v32) == 0xf1f2f3f4);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1496|  14.9k|        assert_noexcept(TestXE::noinline_bswap64(v64) == 0xf1f2f3f4f5f6f7f8ull);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1497|  14.9k|        assert_noexcept(TestXE::noinline_bswap16_unsigned(v16) == 0xf1f2);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1498|  14.9k|    }
 1499|      0|    {
 1500|  14.9k|        upx_alignas_max byte aligned_buffer[32];
  ------------------
  |  |  157|  14.9k|#define upx_alignas_max alignas(std::max_align_t)
  ------------------
 1501|  14.9k|        byte *const buf1 = aligned_buffer + 3;
 1502|  14.9k|        byte *const buf2 = aligned_buffer + 13;
 1503|       |
 1504|  14.9k|        set_be16(buf1, v16);
 1505|  14.9k|        TestXE::noinline_set_be16(buf2, v16);
 1506|  14.9k|        assert_noexcept(TestXE::noinline_get_be16(buf1) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1507|  14.9k|        assert_noexcept(TestXE::noinline_get_be16_unsigned(buf2) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1508|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1509|      0|        set_be24(buf1, v24);
 1510|  14.9k|        TestXE::noinline_set_be24(buf2, v24);
 1511|  14.9k|        assert_noexcept(TestXE::noinline_get_be24(buf1) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1512|  14.9k|        assert_noexcept(TestXE::noinline_get_be24(buf2) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1513|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1514|      0|        set_be32(buf1, v32);
 1515|  14.9k|        TestXE::noinline_set_be32(buf2, v32);
 1516|  14.9k|        assert_noexcept(TestXE::noinline_get_be32(buf1) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1517|  14.9k|        assert_noexcept(TestXE::noinline_get_be32(buf2) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1518|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1519|      0|        set_be64(buf1, v64);
 1520|  14.9k|        TestXE::noinline_set_be64(buf2, v64);
 1521|  14.9k|        assert_noexcept(TestXE::noinline_get_be64(buf1) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1522|  14.9k|        assert_noexcept(TestXE::noinline_get_be64(buf2) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1523|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1524|       |
 1525|      0|        set_le16(buf1, v16);
 1526|  14.9k|        TestXE::noinline_set_le16(buf2, v16);
 1527|  14.9k|        assert_noexcept(TestXE::noinline_get_le16(buf1) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1528|  14.9k|        assert_noexcept(TestXE::noinline_get_le16_unsigned(buf2) == v16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1529|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 2) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1530|      0|        set_le24(buf1, v24);
 1531|  14.9k|        TestXE::noinline_set_le24(buf2, v24);
 1532|  14.9k|        assert_noexcept(TestXE::noinline_get_le24(buf1) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1533|  14.9k|        assert_noexcept(TestXE::noinline_get_le24(buf2) == v24);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1534|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 3) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1535|      0|        set_le32(buf1, v32);
 1536|  14.9k|        TestXE::noinline_set_le32(buf2, v32);
 1537|  14.9k|        assert_noexcept(TestXE::noinline_get_le32(buf1) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1538|  14.9k|        assert_noexcept(TestXE::noinline_get_le32(buf2) == v32);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1539|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 4) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1540|      0|        set_le64(buf1, v64);
 1541|  14.9k|        TestXE::noinline_set_le64(buf2, v64);
 1542|  14.9k|        assert_noexcept(TestXE::noinline_get_le64(buf1) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1543|  14.9k|        assert_noexcept(TestXE::noinline_get_le64(buf2) == v64);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1544|  14.9k|        assert_noexcept(memcmp(buf1, buf2, 8) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1545|       |
 1546|      0|        TestXE::noinline_set_be16_unsigned(buf2, v16);
 1547|  14.9k|        TestXE::noinline_set_le16_unsigned(buf2, v16);
 1548|  14.9k|    }
 1549|      0|    {
 1550|   253k|        for (int i = -8; i < 8; i++) {
  ------------------
  |  Branch (1550:26): [True: 238k, False: 14.9k]
  ------------------
 1551|   238k|            {
 1552|   238k|                const unsigned u = i;
 1553|   238k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1554|   238k|                assert_noexcept(TestXE::noinline_sign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1555|   238k|                assert_noexcept(TestXE::noinline_sign_extend32_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1556|   238k|                assert_noexcept(TestXE::noinline_sign_extend32_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1557|   238k|                assert_noexcept(TestXE::noinline_sign_extend32_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1558|   238k|                assert_noexcept(TestXE::noinline_sign_extend32_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1559|   238k|                assert_noexcept(TestXE::noinline_sign_extend32_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1560|   238k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1561|   238k|                assert_noexcept(TestXE::noinline_xign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1562|   238k|                assert_noexcept(TestXE::noinline_xign_extend32_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1563|   238k|                assert_noexcept(TestXE::noinline_xign_extend32_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1564|   238k|                assert_noexcept(TestXE::noinline_xign_extend32_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1565|   238k|                assert_noexcept(TestXE::noinline_xign_extend32_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1566|   238k|                assert_noexcept(TestXE::noinline_xign_extend32_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1567|   238k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1568|   238k|                assert_noexcept(TestXE::noinline_yign_extend32(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1569|   238k|                assert_noexcept(TestXE::noinline_yign_extend32_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1570|   238k|                assert_noexcept(TestXE::noinline_yign_extend32_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1571|   238k|                assert_noexcept(TestXE::noinline_yign_extend32_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1572|   238k|                assert_noexcept(TestXE::noinline_yign_extend32_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1573|   238k|                assert_noexcept(TestXE::noinline_yign_extend32_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1574|   238k|            }
 1575|      0|            {
 1576|   238k|                const upx_uint64_t u = i;
 1577|   238k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1578|   238k|                assert_noexcept(TestXE::noinline_sign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1579|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1580|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1581|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1582|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1583|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1584|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_48(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1585|   238k|                assert_noexcept(TestXE::noinline_sign_extend64_64(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1586|   238k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1587|   238k|                assert_noexcept(TestXE::noinline_xign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1588|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1589|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1590|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1591|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1592|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1593|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_48(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1594|   238k|                assert_noexcept(TestXE::noinline_xign_extend64_64(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1595|   238k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 1) == ((i & 1) ? -1 : 0));
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 119k, False: 119k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1596|   238k|                assert_noexcept(TestXE::noinline_yign_extend64(u, 4 + (i & 1)) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1597|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_4(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1598|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_8(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1599|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_16(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1600|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_24(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1601|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_32(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1602|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_48(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1603|   238k|                assert_noexcept(TestXE::noinline_yign_extend64_64(u) == i);
  ------------------
  |  |  496|   238k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1604|   238k|            }
 1605|   238k|        }
 1606|  14.9k|    }
 1607|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap16Et:
 1141|  14.9k|    static noinline upx_uint16_t noinline_bswap16(upx_uint16_t v) noexcept { return bswap16(v); }
  ------------------
  |  |  347|  14.9k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap32Ej:
 1142|  14.9k|    static noinline upx_uint32_t noinline_bswap32(upx_uint32_t v) noexcept { return bswap32(v); }
  ------------------
  |  |  348|  14.9k|#define bswap32 upx_bswap32
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE16noinline_bswap64Ey:
 1143|  14.9k|    static noinline upx_uint64_t noinline_bswap64(upx_uint64_t v) noexcept { return bswap64(v); }
  ------------------
  |  |  349|  14.9k|#define bswap64 upx_bswap64
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_bswap16_unsignedEj:
 1163|  14.9k|    static noinline unsigned noinline_bswap16_unsigned(unsigned v) noexcept { return bswap16(v); }
  ------------------
  |  |  347|  14.9k|#define bswap16 upx_bswap16
  ------------------
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be16EPht:
 1154|  14.9k|    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:
 1145|  14.9k|    static noinline upx_uint16_t noinline_get_be16(const byte *p) noexcept { return get_be16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_get_be16_unsignedEPKh:
 1164|  14.9k|    static noinline unsigned noinline_get_be16_unsigned(const byte *p) noexcept {
 1165|  14.9k|        return get_be16(p);
 1166|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_be24EPhj:
 1155|  14.9k|    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:
 1146|  29.8k|    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:
 1156|  14.9k|    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:
 1147|  29.8k|    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:
 1157|  14.9k|    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:
 1148|  29.8k|    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:
 1158|  14.9k|    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:
 1149|  14.9k|    static noinline upx_uint16_t noinline_get_le16(const byte *p) noexcept { return get_le16(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_get_le16_unsignedEPKh:
 1167|  14.9k|    static noinline unsigned noinline_get_le16_unsigned(const byte *p) noexcept {
 1168|  14.9k|        return get_le16(p);
 1169|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE17noinline_set_le24EPhj:
 1159|  14.9k|    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:
 1150|  29.8k|    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:
 1160|  14.9k|    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:
 1151|  29.8k|    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:
 1161|  14.9k|    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:
 1152|  29.8k|    static noinline upx_uint64_t noinline_get_le64(const byte *p) noexcept { return get_le64(p); }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_set_be16_unsignedEPhj:
 1170|  14.9k|    static noinline void noinline_set_be16_unsigned(byte * p, unsigned v) noexcept {
 1171|  14.9k|        set_be16(p, v);
 1172|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE26noinline_set_le16_unsignedEPhj:
 1173|  14.9k|    static noinline void noinline_set_le16_unsigned(byte * p, unsigned v) noexcept {
 1174|  14.9k|        set_le16(p, v);
 1175|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend32Ejj:
 1177|   477k|    static noinline int noinline_sign_extend32(unsigned v, unsigned bits) noexcept {
 1178|   477k|        return sign_extend32(v, bits);
 1179|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_4Ej:
 1184|   238k|    static noinline int noinline_sign_extend32_4(unsigned v) noexcept {
 1185|   238k|        return sign_extend32(v, 4);
 1186|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend32_8Ej:
 1187|   238k|    static noinline int noinline_sign_extend32_8(unsigned v) noexcept {
 1188|   238k|        return sign_extend32(v, 8);
 1189|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_16Ej:
 1190|   238k|    static noinline int noinline_sign_extend32_16(unsigned v) noexcept {
 1191|   238k|        return sign_extend32(v, 16);
 1192|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_24Ej:
 1193|   238k|    static noinline int noinline_sign_extend32_24(unsigned v) noexcept {
 1194|   238k|        return sign_extend32(v, 24);
 1195|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend32_32Ej:
 1196|   238k|    static noinline int noinline_sign_extend32_32(unsigned v) noexcept {
 1197|   238k|        return sign_extend32(v, 32);
 1198|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend32Ejj:
 1221|   477k|    static noinline int noinline_xign_extend32(unsigned v, unsigned bits) noexcept {
 1222|   477k|        return xign_extend32(v, bits);
 1223|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend32Ejj:
 1122|  1.67M|static forceinline constexpr int xign_extend32(unsigned v, unsigned bits) noexcept {
 1123|  1.67M|    return ACC_ICAST(int, v << (32 - bits)) >> (32 - bits);
  ------------------
  |  | 1549|  1.67M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.67M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1124|  1.67M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_4Ej:
 1228|   238k|    static noinline int noinline_xign_extend32_4(unsigned v) noexcept {
 1229|   238k|        return xign_extend32(v, 4);
 1230|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend32_8Ej:
 1231|   238k|    static noinline int noinline_xign_extend32_8(unsigned v) noexcept {
 1232|   238k|        return xign_extend32(v, 8);
 1233|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_16Ej:
 1234|   238k|    static noinline int noinline_xign_extend32_16(unsigned v) noexcept {
 1235|   238k|        return xign_extend32(v, 16);
 1236|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_24Ej:
 1237|   238k|    static noinline int noinline_xign_extend32_24(unsigned v) noexcept {
 1238|   238k|        return xign_extend32(v, 24);
 1239|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend32_32Ej:
 1240|   238k|    static noinline int noinline_xign_extend32_32(unsigned v) noexcept {
 1241|   238k|        return xign_extend32(v, 32);
 1242|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend32Ejj:
 1265|   477k|    static noinline int noinline_yign_extend32(unsigned v, unsigned bits) noexcept {
 1266|   477k|        return yign_extend32(v, bits);
 1267|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend32Ejj:
 1129|  1.67M|static forceinline constexpr int yign_extend32(unsigned v, unsigned bits) noexcept {
 1130|  1.67M|    const unsigned sign_bit = 1u << (bits - 1);
 1131|  1.67M|    return ACC_ICAST(int, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  1.67M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  1.67M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1132|  1.67M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_4Ej:
 1272|   238k|    static noinline int noinline_yign_extend32_4(unsigned v) noexcept {
 1273|   238k|        return yign_extend32(v, 4);
 1274|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend32_8Ej:
 1275|   238k|    static noinline int noinline_yign_extend32_8(unsigned v) noexcept {
 1276|   238k|        return yign_extend32(v, 8);
 1277|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_16Ej:
 1278|   238k|    static noinline int noinline_yign_extend32_16(unsigned v) noexcept {
 1279|   238k|        return yign_extend32(v, 16);
 1280|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_24Ej:
 1281|   238k|    static noinline int noinline_yign_extend32_24(unsigned v) noexcept {
 1282|   238k|        return yign_extend32(v, 24);
 1283|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend32_32Ej:
 1284|   238k|    static noinline int noinline_yign_extend32_32(unsigned v) noexcept {
 1285|   238k|        return yign_extend32(v, 32);
 1286|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_sign_extend64Eyj:
 1180|   477k|    static noinline upx_int64_t noinline_sign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1181|   477k|        return sign_extend64(v, bits);
 1182|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_4Ey:
 1199|   238k|    static noinline upx_int64_t noinline_sign_extend64_4(upx_uint64_t v) noexcept {
 1200|   238k|        return sign_extend64(v, 4);
 1201|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_sign_extend64_8Ey:
 1202|   238k|    static noinline upx_int64_t noinline_sign_extend64_8(upx_uint64_t v) noexcept {
 1203|   238k|        return sign_extend64(v, 8);
 1204|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_16Ey:
 1205|   238k|    static noinline upx_int64_t noinline_sign_extend64_16(upx_uint64_t v) noexcept {
 1206|   238k|        return sign_extend64(v, 16);
 1207|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_24Ey:
 1208|   238k|    static noinline upx_int64_t noinline_sign_extend64_24(upx_uint64_t v) noexcept {
 1209|   238k|        return sign_extend64(v, 24);
 1210|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_32Ey:
 1211|   238k|    static noinline upx_int64_t noinline_sign_extend64_32(upx_uint64_t v) noexcept {
 1212|   238k|        return sign_extend64(v, 32);
 1213|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_48Ey:
 1214|   238k|    static noinline upx_int64_t noinline_sign_extend64_48(upx_uint64_t v) noexcept {
 1215|   238k|        return sign_extend64(v, 48);
 1216|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_sign_extend64_64Ey:
 1217|   238k|    static noinline upx_int64_t noinline_sign_extend64_64(upx_uint64_t v) noexcept {
 1218|   238k|        return sign_extend64(v, 64);
 1219|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_xign_extend64Eyj:
 1224|   477k|    static noinline upx_int64_t noinline_xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1225|   477k|        return xign_extend64(v, bits);
 1226|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113xign_extend64Eyj:
 1125|  2.14M|static forceinline constexpr upx_int64_t xign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1126|  2.14M|    return ACC_ICAST(upx_int64_t, v << (64 - bits)) >> (64 - bits);
  ------------------
  |  | 1549|  2.14M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.14M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1127|  2.14M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_4Ey:
 1243|   238k|    static noinline upx_int64_t noinline_xign_extend64_4(upx_uint64_t v) noexcept {
 1244|   238k|        return xign_extend64(v, 4);
 1245|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_xign_extend64_8Ey:
 1246|   238k|    static noinline upx_int64_t noinline_xign_extend64_8(upx_uint64_t v) noexcept {
 1247|   238k|        return xign_extend64(v, 8);
 1248|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_16Ey:
 1249|   238k|    static noinline upx_int64_t noinline_xign_extend64_16(upx_uint64_t v) noexcept {
 1250|   238k|        return xign_extend64(v, 16);
 1251|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_24Ey:
 1252|   238k|    static noinline upx_int64_t noinline_xign_extend64_24(upx_uint64_t v) noexcept {
 1253|   238k|        return xign_extend64(v, 24);
 1254|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_32Ey:
 1255|   238k|    static noinline upx_int64_t noinline_xign_extend64_32(upx_uint64_t v) noexcept {
 1256|   238k|        return xign_extend64(v, 32);
 1257|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_48Ey:
 1258|   238k|    static noinline upx_int64_t noinline_xign_extend64_48(upx_uint64_t v) noexcept {
 1259|   238k|        return xign_extend64(v, 48);
 1260|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_xign_extend64_64Ey:
 1261|   238k|    static noinline upx_int64_t noinline_xign_extend64_64(upx_uint64_t v) noexcept {
 1262|   238k|        return xign_extend64(v, 64);
 1263|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE22noinline_yign_extend64Eyj:
 1268|   477k|    static noinline upx_int64_t noinline_yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1269|   477k|        return yign_extend64(v, bits);
 1270|   477k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_113yign_extend64Eyj:
 1133|  2.14M|static forceinline constexpr upx_int64_t yign_extend64(upx_uint64_t v, unsigned bits) noexcept {
 1134|  2.14M|    const upx_uint64_t sign_bit = upx_uint64_t(1) << (bits - 1);
 1135|  2.14M|    return ACC_ICAST(upx_int64_t, (v & (sign_bit - 1)) - (v & sign_bit));
  ------------------
  |  | 1549|  2.14M|#  define ACC_ICAST(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  2.14M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
 1136|  2.14M|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_4Ey:
 1287|   238k|    static noinline upx_int64_t noinline_yign_extend64_4(upx_uint64_t v) noexcept {
 1288|   238k|        return yign_extend64(v, 4);
 1289|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE24noinline_yign_extend64_8Ey:
 1290|   238k|    static noinline upx_int64_t noinline_yign_extend64_8(upx_uint64_t v) noexcept {
 1291|   238k|        return yign_extend64(v, 8);
 1292|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_16Ey:
 1293|   238k|    static noinline upx_int64_t noinline_yign_extend64_16(upx_uint64_t v) noexcept {
 1294|   238k|        return yign_extend64(v, 16);
 1295|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_24Ey:
 1296|   238k|    static noinline upx_int64_t noinline_yign_extend64_24(upx_uint64_t v) noexcept {
 1297|   238k|        return yign_extend64(v, 24);
 1298|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_32Ey:
 1299|   238k|    static noinline upx_int64_t noinline_yign_extend64_32(upx_uint64_t v) noexcept {
 1300|   238k|        return yign_extend64(v, 32);
 1301|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_48Ey:
 1302|   238k|    static noinline upx_int64_t noinline_yign_extend64_48(upx_uint64_t v) noexcept {
 1303|   238k|        return yign_extend64(v, 48);
 1304|   238k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXE25noinline_yign_extend64_64Ey:
 1305|   238k|    static noinline upx_int64_t noinline_yign_extend64_64(upx_uint64_t v) noexcept {
 1306|   238k|        return yign_extend64(v, 64);
 1307|   238k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_30v:
 1609|  14.9k|TEST_CASE("upx::run_time 2") {
 1610|  14.9k|    const upx_ptraddr_t p = upx_ptraddr_t(acc_vget_int(1, 0));
 1611|  14.9k|    const upx_ptraddr_t a = upx_ptraddr_t(acc_vget_int(8, 0));
 1612|  14.9k|    assert_noexcept(TestCT::noinline_has_single_bit(p));
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1613|  14.9k|    assert_noexcept(TestCT::noinline_align_down(p, a) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1614|  14.9k|    assert_noexcept(TestCT::noinline_align_down_gap(p, a) == 1);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1615|  14.9k|    assert_noexcept(TestCT::noinline_align_up(p, a) == 8);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1616|  14.9k|    assert_noexcept(TestCT::noinline_align_up_gap(p, a) == 7);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1617|  14.9k|    assert_noexcept(TestCT::noinline_align_down_16(p) == 0);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1618|  14.9k|    assert_noexcept(TestCT::noinline_align_down_gap_16(p) == 1);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1619|  14.9k|    assert_noexcept(TestCT::noinline_align_up_16(p) == 16);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1620|  14.9k|    assert_noexcept(TestCT::noinline_align_up_gap_16(p) == 15);
  ------------------
  |  |  496|  14.9k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 1621|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_has_single_bitEm:
 1088|  14.9k|    static noinline bool noinline_has_single_bit(upx_ptraddr_t p) noexcept {
 1089|  14.9k|        return upx::has_single_bit(p);
 1090|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT19noinline_align_downEmm:
 1092|  14.9k|    static noinline upx_ptraddr_t noinline_align_down(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1093|  14.9k|        return upx::align_down(p, a);
 1094|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT23noinline_align_down_gapEmm:
 1096|  14.9k|        noexcept {
 1097|  14.9k|        return upx::align_down_gap(p, a);
 1098|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT17noinline_align_upEmm:
 1099|  14.9k|    static noinline upx_ptraddr_t noinline_align_up(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1100|  14.9k|        return upx::align_up(p, a);
 1101|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT21noinline_align_up_gapEmm:
 1102|  14.9k|    static noinline upx_ptraddr_t noinline_align_up_gap(upx_ptraddr_t p, upx_ptraddr_t a) noexcept {
 1103|  14.9k|        return upx::align_up_gap(p, a);
 1104|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT22noinline_align_down_16Em:
 1106|  14.9k|    static noinline upx_ptraddr_t noinline_align_down_16(upx_ptraddr_t p) noexcept {
 1107|  14.9k|        return upx::align_down(p, upx_ptraddr_t(16));
 1108|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT26noinline_align_down_gap_16Em:
 1109|  14.9k|    static noinline upx_ptraddr_t noinline_align_down_gap_16(upx_ptraddr_t p) noexcept {
 1110|  14.9k|        return upx::align_down_gap(p, upx_ptraddr_t(16));
 1111|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT20noinline_align_up_16Em:
 1112|  14.9k|    static noinline upx_ptraddr_t noinline_align_up_16(upx_ptraddr_t p) noexcept {
 1113|  14.9k|        return upx::align_up(p, upx_ptraddr_t(16));
 1114|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestCT24noinline_align_up_gap_16Em:
 1115|  14.9k|    static noinline upx_ptraddr_t noinline_align_up_gap_16(upx_ptraddr_t p) noexcept {
 1116|  14.9k|        return upx::align_up_gap(p, upx_ptraddr_t(16));
 1117|  14.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_32v:
 1729|  14.9k|TEST_CASE("codegen constant") {
 1730|  14.9k|    const int n = acc_vget_int(0, 0);
 1731|  14.9k|    {
 1732|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1733|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1734|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1735|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1736|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1737|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1738|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1739|  14.9k|        assert_noexcept2((TestConstant::noinline_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1740|       |
 1741|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1742|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1743|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1744|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1745|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1746|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1747|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1748|  14.9k|        assert_noexcept2((TestConstant::noinline_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1749|       |
 1750|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1751|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1752|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1753|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1754|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1755|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1756|  14.9k|        assert_noexcept2((TestConstant::noinline_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1757|  14.9k|        assert_noexcept2(
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1758|  14.9k|            (TestConstant::noinline_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 1759|       |
 1760|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1761|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1762|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1763|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1764|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1765|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1766|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1767|  14.9k|        assert_noexcept2((TestConstant::noinline_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1768|       |
 1769|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1770|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1771|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1772|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1773|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1774|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1775|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1776|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1777|       |
 1778|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1779|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1780|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1781|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1782|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1783|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1784|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1785|  14.9k|        assert_noexcept2((TestConstant::noinline_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1786|       |
 1787|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int8_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1788|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint8_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1789|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int16_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1790|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint16_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1791|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int32_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1792|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint32_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1793|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_int64_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1794|  14.9k|        assert_noexcept2((TestConstant::noinline_add_zero(upx_uint64_t(n)) == 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1795|       |
 1796|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int8_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1797|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint8_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1798|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int16_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1799|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint16_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1800|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int32_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1801|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint32_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1802|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_int64_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1803|  14.9k|        assert_noexcept2((TestConstant::noinline_add_one(upx_uint64_t(n)) == 1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1804|       |
 1805|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1806|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1807|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1808|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1809|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1810|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1811|  14.9k|        assert_noexcept2((TestConstant::noinline_add_minus_one(upx_int64_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1812|  14.9k|        assert_noexcept2(
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1813|  14.9k|            (TestConstant::noinline_add_minus_one(upx_uint64_t(n)) == 0xffffffffffffffffULL));
 1814|       |
 1815|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1816|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1817|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1818|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint16_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1819|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1820|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint32_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1821|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_int64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1822|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xff(upx_uint64_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1823|       |
 1824|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1825|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1826|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1827|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1828|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1829|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint32_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1830|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_int64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1831|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffff(upx_uint64_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1832|       |
 1833|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int8_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1834|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint8_t(n)) == 0xff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1835|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int16_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1836|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint16_t(n)) == 0xffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1837|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int32_t(n)) == -1));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1838|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint32_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1839|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_int64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1840|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xffffffff(upx_uint64_t(n)) == 0xffffffff));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1841|       |
 1842|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int8_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1843|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint8_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1844|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int16_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1845|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint16_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1846|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int32_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1847|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint32_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1848|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_int64_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1849|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0x0102030405060708(upx_uint64_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1850|       |
 1851|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int8_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1852|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint8_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1853|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int16_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1854|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint16_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1855|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int32_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1856|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint32_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1857|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_int64_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1858|  14.9k|        assert_noexcept2((TestConstant::noinline_add_0xf9f7f5f1c9c7c5c1(upx_uint64_t(n)) != 0));
  ------------------
  |  |  497|  14.9k|#define assert_noexcept2(e) assertFailed(e, #e, __FILE__, __LINE__, __func__)
  ------------------
 1859|  14.9k|    }
 1860|  14.9k|    (void) n;
 1861|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIaEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIhEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIsEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroItEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIiEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIjEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIxEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_zeroIyEET_S2_:
 1635|  14.9k|    static noinline T noinline_zero(T) noexcept {
 1636|  14.9k|        return T(0);
 1637|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIaEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIhEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIsEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneItEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIiEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIjEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIxEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant12noinline_oneIyEET_S2_:
 1639|  14.9k|    static noinline T noinline_one(T) noexcept {
 1640|  14.9k|        return T(1);
 1641|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIaEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIhEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIsEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneItEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIiEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIjEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIxEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant18noinline_minus_oneIyEET_S2_:
 1643|  14.9k|    static noinline T noinline_minus_one(T) noexcept {
 1644|  14.9k|        return T(T(0) - T(1));
 1645|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIaEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIhEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIsEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffItEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIiEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIjEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIxEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant13noinline_0xffIyEET_S2_:
 1647|  14.9k|    static noinline T noinline_0xff(T) noexcept {
 1648|  14.9k|        return T(0xff);
 1649|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIaEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIhEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIsEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffItEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIiEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIjEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIxEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant15noinline_0xffffIyEET_S2_:
 1651|  14.9k|    static noinline T noinline_0xffff(T) noexcept {
 1652|  14.9k|        return T(0xffff);
 1653|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIaEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIhEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIsEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffItEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIiEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIjEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIxEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_0xffffffffIyEET_S2_:
 1655|  14.9k|    static noinline T noinline_0xffffffff(T) noexcept {
 1656|  14.9k|        return T(0xffffffff);
 1657|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIaEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIhEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIsEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroItEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIiEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIjEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIxEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_zeroIyEET_S2_:
 1660|  14.9k|    static noinline T noinline_add_zero(T n) noexcept {
 1661|  14.9k|        return T(n + T(0));
 1662|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIaEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIhEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIsEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneItEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIiEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIjEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIxEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant16noinline_add_oneIyEET_S2_:
 1664|  14.9k|    static noinline T noinline_add_one(T n) noexcept {
 1665|  14.9k|        return T(n + T(1));
 1666|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIaEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIhEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIsEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneItEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIiEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIjEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIxEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant22noinline_add_minus_oneIyEET_S2_:
 1668|  14.9k|    static noinline T noinline_add_minus_one(T n) noexcept {
 1669|  14.9k|        return T(n + T(T(0) - T(1)));
 1670|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIaEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIhEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIsEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffItEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIiEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIjEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIxEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant17noinline_add_0xffIyEET_S2_:
 1672|  14.9k|    static noinline T noinline_add_0xff(T n) noexcept {
 1673|  14.9k|        return T(n + T(0xff));
 1674|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIaEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIhEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIsEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffItEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIiEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIjEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIxEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant19noinline_add_0xffffIyEET_S2_:
 1676|  14.9k|    static noinline T noinline_add_0xffff(T n) noexcept {
 1677|  14.9k|        return T(n + T(0xffff));
 1678|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIaEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIhEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIsEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffItEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIiEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIjEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIxEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant23noinline_add_0xffffffffIyEET_S2_:
 1680|  14.9k|    static noinline T noinline_add_0xffffffff(T n) noexcept {
 1681|  14.9k|        return T(n + T(0xffffffff));
 1682|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IaEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IhEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IsEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708ItEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IiEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IjEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IxEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0x0102030405060708IyEET_S2_:
 1685|  14.9k|    static noinline T noinline_add_0x0102030405060708(T n) noexcept {
 1686|  14.9k|        return T(n + T(0x0102030405060708ull));
 1687|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IaEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IhEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IsEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1ItEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IiEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IjEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IxEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_112TestConstant31noinline_add_0xf9f7f5f1c9c7c5c1IyEET_S2_:
 1689|  14.9k|    static noinline T noinline_add_0xf9f7f5f1c9c7c5c1(T n) noexcept {
 1690|  14.9k|        return T(n + T(0xf9f7f5f1c9c7c5c1ull));
 1691|  14.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_34v:
 1863|  14.9k|TEST_CASE("codegen") {
 1864|  14.9k|    const int n = acc_vget_int(2, 0);
 1865|  14.9k|    {
 1866|  14.9k|        typedef byte T;
 1867|  14.9k|        T buf[4] = {0, 1, 2, 3};
 1868|  14.9k|        const T v = T(acc_vget_int(0, 0));
 1869|       |
 1870|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1871|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1872|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1873|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1874|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1875|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1876|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1877|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1878|       |
 1879|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1880|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1881|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1882|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1883|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1884|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1885|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1886|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1887|       |
 1888|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1889|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1890|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1891|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1892|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1893|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1894|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1895|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1896|       |
 1897|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1898|  14.9k|        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.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1899|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1900|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1901|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1902|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1903|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1904|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1905|       |
 1906|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1907|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1908|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1909|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1910|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1911|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1912|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1913|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1914|       |
 1915|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1916|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1917|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1918|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1919|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1920|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1921|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1922|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1923|       |
 1924|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1925|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1926|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1927|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1928|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1929|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1930|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1931|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1932|       |
 1933|  14.9k|        (void) buf;
 1934|  14.9k|        (void) v;
 1935|  14.9k|    }
 1936|  14.9k|    {
 1937|  14.9k|        typedef upx_int32_t T;
 1938|  14.9k|        T buf[4] = {0, 1, 2, 3};
 1939|  14.9k|        const T v = T(acc_vget_int(0, 0));
 1940|       |
 1941|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1942|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1943|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1944|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1945|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1946|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1947|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1948|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1949|       |
 1950|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1951|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1952|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1953|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1954|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1955|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1956|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1957|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1958|       |
 1959|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1960|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1961|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1962|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1963|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1964|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1965|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1966|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1967|       |
 1968|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1969|  14.9k|        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.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1970|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1971|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1972|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1973|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1974|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1975|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1976|       |
 1977|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1978|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1979|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1980|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1981|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1982|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1983|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1984|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1985|       |
 1986|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1987|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1988|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1989|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1990|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1991|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1992|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1993|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1994|       |
 1995|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1996|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1997|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1998|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 1999|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2000|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2001|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2002|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2003|       |
 2004|  14.9k|        (void) buf;
 2005|  14.9k|        (void) v;
 2006|  14.9k|    }
 2007|  14.9k|    {
 2008|  14.9k|        typedef upx_uint64_t T;
 2009|  14.9k|        T buf[4] = {0, 1, 2, 3};
 2010|  14.9k|        const T v = T(acc_vget_int(0, 0));
 2011|       |
 2012|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2013|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2014|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2015|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2016|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2017|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2018|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2019|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2020|       |
 2021|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2022|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint8_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2023|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2024|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint16_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2025|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2026|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint32_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2027|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_int64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2028|  14.9k|        CHECK(TestXX<T>::noinline_add_ptr_promoted(buf, upx_uint64_t(n)) == (buf + n));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2029|       |
 2030|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2031|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint8_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2032|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2033|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint16_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2034|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2035|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint32_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2036|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_int64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2037|  14.9k|        CHECK(TestXX<T>::noinline_get_ptr(buf, upx_uint64_t(n)) == 2);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2038|       |
 2039|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_set_ptr(buf, upx_int8_t(n), v));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2040|  14.9k|        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.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2041|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2042|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2043|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2044|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2045|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2046|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2047|       |
 2048|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2049|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint8_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2050|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2051|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint16_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2052|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2053|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint32_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2054|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_int64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2055|  14.9k|        CHECK(TestXX<T>::noinline_get_or_1(buf, upx_uint64_t(n)) == 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2056|       |
 2057|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_int8_t(n)));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        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.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2058|  14.9k|        CHECK_NOTHROW(TestXX<T>::noinline_or_1(buf, upx_uint8_t(n)));
  ------------------
  |  | 2974|      0|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2059|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2060|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2061|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2062|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2063|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2064|      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]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2065|       |
 2066|      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.9k|        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.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|      0|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2067|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint8_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|      0|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2068|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2069|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint16_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2070|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2071|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint32_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2072|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_int64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2073|  14.9k|        CHECK((TestXX<T>::noinline_get_ptr_promoted(buf, upx_uint64_t(n)) == 1));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
 2074|       |
 2075|  14.9k|        (void) buf;
 2076|  14.9k|        (void) v;
 2077|  14.9k|    }
 2078|  14.9k|    (void) n;
 2079|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIaEEPKhS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIhEEPKhS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIsEEPKhS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrItEEPKhS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIiEEPKhS4_T_:
 1696|  89.4k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  89.4k|        return p + n;
 1698|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIjEEPKhS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIxEEPKhS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_add_ptrIyEEPKhS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIaEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIhEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIsEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedItEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIiEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIjEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIxEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_add_ptr_promotedIyEEDaPKhT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIaEEhPKhT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIhEEhPKhT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIsEEhPKhT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrItEEhPKhT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIiEEhPKhT_:
 1700|  89.4k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  89.4k|        return p[n];
 1702|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIjEEhPKhT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIxEEhPKhT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_get_ptrIyEEhPKhT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIaEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIhEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIsEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrItEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIiEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIjEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIxEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE16noinline_set_ptrIyEEvPhT_h:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IaEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IhEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IsEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1ItEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IiEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IjEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IxEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE17noinline_get_or_1IyEEhPKhT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IaEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IhEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IsEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1ItEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IiEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IjEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IxEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE13noinline_or_1IyEEvPhT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIaEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIhEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIsEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedItEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIiEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIjEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIxEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIhE25noinline_get_ptr_promotedIyEEDaPKhT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIaEEPKiS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIhEEPKiS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIsEEPKiS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrItEEPKiS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIiEEPKiS4_T_:
 1696|  89.4k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  89.4k|        return p + n;
 1698|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIjEEPKiS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIxEEPKiS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_add_ptrIyEEPKiS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIaEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIhEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIsEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedItEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIiEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIjEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIxEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_add_ptr_promotedIyEEDaPKiT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIaEEiPKiT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIhEEiPKiT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIsEEiPKiT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrItEEiPKiT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIiEEiPKiT_:
 1700|  89.4k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  89.4k|        return p[n];
 1702|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIjEEiPKiT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIxEEiPKiT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_get_ptrIyEEiPKiT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIaEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIhEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIsEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrItEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIiEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIjEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIxEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE16noinline_set_ptrIyEEvPiT_i:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IaEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IhEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IsEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1ItEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IiEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IjEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IxEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE17noinline_get_or_1IyEEiPKiT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IaEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IhEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IsEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1ItEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IiEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IjEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IxEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE13noinline_or_1IyEEvPiT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIaEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIhEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIsEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedItEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIiEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIjEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIxEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIiE25noinline_get_ptr_promotedIyEEDaPKiT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIaEEPKyS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIhEEPKyS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIsEEPKyS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrItEEPKyS4_T_:
 1696|  14.9k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  14.9k|        return p + n;
 1698|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIiEEPKyS4_T_:
 1696|  89.4k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  89.4k|        return p + n;
 1698|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIjEEPKyS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIxEEPKyS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_add_ptrIyEEPKyS4_T_:
 1696|  29.8k|    static noinline const T *noinline_add_ptr(const T *p, U n) noexcept {
 1697|  29.8k|        return p + n;
 1698|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIaEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIhEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIsEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedItEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIiEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIjEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIxEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_add_ptr_promotedIyEEDaPKyT_:
 1717|  14.9k|    static noinline auto noinline_add_ptr_promoted(const T *p, U n) noexcept {
 1718|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1719|  14.9k|        return noinline_add_ptr(p, promoted_type(n));
 1720|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIaEEyPKyT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIhEEyPKyT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIsEEyPKyT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrItEEyPKyT_:
 1700|  14.9k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  14.9k|        return p[n];
 1702|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIiEEyPKyT_:
 1700|  89.4k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  89.4k|        return p[n];
 1702|  89.4k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIjEEyPKyT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIxEEyPKyT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_get_ptrIyEEyPKyT_:
 1700|  29.8k|    static noinline T noinline_get_ptr(const T *p, U n) noexcept {
 1701|  29.8k|        return p[n];
 1702|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIaEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIhEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIsEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrItEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIiEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIjEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIxEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE16noinline_set_ptrIyEEvPyT_y:
 1704|  14.9k|    static noinline void noinline_set_ptr(T *p, U n, T v) noexcept {
 1705|  14.9k|        p[n] = v;
 1706|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IaEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IhEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IsEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1ItEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IiEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IjEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IxEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE17noinline_get_or_1IyEEyPKyT_:
 1708|  14.9k|    static noinline T noinline_get_or_1(const T *p, U n) noexcept {
 1709|  14.9k|        return T(p[n] | 1);
 1710|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IaEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IhEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IsEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1ItEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IiEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IjEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IxEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE13noinline_or_1IyEEvPyT_:
 1712|  14.9k|    static noinline void noinline_or_1(T *p, U n) noexcept {
 1713|  14.9k|        p[n] = T(p[n] | 1);
 1714|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIaEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIhEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIsEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedItEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIiEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIjEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIxEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_16TestXXIyE25noinline_get_ptr_promotedIyEEDaPKyT_:
 1722|  14.9k|    static noinline auto noinline_get_ptr_promoted(const T *p, U n) noexcept {
 1723|  14.9k|        typedef decltype(U(0) + U(0)) promoted_type;
 1724|  14.9k|        return noinline_get_ptr(p, promoted_type(n));
 1725|  14.9k|    }
dt_cxxlib.cpp:_ZL20DOCTEST_ANON_FUNC_36v:
 2503|  14.9k|TEST_CASE("upx::TriBool") {
 2504|  14.9k|    using upx::TriBool, upx::tribool;
 2505|  14.9k|    static_assert(!tribool(false));
 2506|  14.9k|    static_assert(tribool(true));
 2507|  14.9k|    static_assert(!tribool(tribool::Third));
 2508|  14.9k|    TestTriBool<tribool>::test(false);
 2509|  14.9k|#if DEBUG || 1
 2510|  14.9k|    TestTriBool<TriBool<upx_int8_t> >::test(false);
 2511|  14.9k|    TestTriBool<TriBool<upx_uint8_t> >::test(false);
 2512|  14.9k|    TestTriBool<TriBool<upx_int16_t> >::test(false);
 2513|  14.9k|    TestTriBool<TriBool<upx_uint16_t> >::test(false);
 2514|  14.9k|    TestTriBool<TriBool<upx_int32_t> >::test(false);
 2515|  14.9k|    TestTriBool<TriBool<upx_uint32_t> >::test(false);
 2516|  14.9k|    TestTriBool<TriBool<upx_int64_t> >::test(false);
 2517|  14.9k|    TestTriBool<TriBool<upx_uint64_t> >::test(false);
 2518|  14.9k|    TestTriBool<TriBool<upx_int8_t, true> >::test(true);
 2519|  14.9k|    TestTriBool<TriBool<upx_uint8_t, true> >::test(true);
 2520|  14.9k|    TestTriBool<TriBool<upx_int16_t, true> >::test(true);
 2521|  14.9k|    TestTriBool<TriBool<upx_uint16_t, true> >::test(true);
 2522|  14.9k|    TestTriBool<TriBool<upx_int32_t, true> >::test(true);
 2523|  14.9k|    TestTriBool<TriBool<upx_uint32_t, true> >::test(true);
 2524|  14.9k|    TestTriBool<TriBool<upx_int64_t, true> >::test(true);
 2525|  14.9k|    TestTriBool<TriBool<upx_uint64_t, true> >::test(true);
 2526|  14.9k|#endif
 2527|  14.9k|}
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb0EEEE4testEb:
 2394|  29.8k|    static noinline void test(bool expect_true) {
 2395|  29.8k|        static_assert(std::is_class<T>::value);
 2396|  29.8k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  29.8k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  29.8k|        static_assert(std::is_standard_layout<T>::value);
 2399|  29.8k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  29.8k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  29.8k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  29.8k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  29.8k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  29.8k|#endif
 2416|  29.8k|        static_assert(!bool(T(false)));
 2417|  29.8k|        static_assert(bool(T(true)));
 2418|  29.8k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  29.8k|        static_assert(T(false) == T::False);
 2420|  29.8k|        static_assert(T(true) == T::True);
 2421|  29.8k|        static_assert(T(T::False) == T::False);
 2422|  29.8k|        static_assert(T(T::True) == T::True);
 2423|  29.8k|        static_assert(T(T::Third) == T::Third);
 2424|  29.8k|        static_assert(T(T::Third) == T(9));
 2425|  29.8k|        static_assert(T(8) == T(9));
 2426|  29.8k|        static_assert(!(T(0) == T(9)));
 2427|  29.8k|        static_assert(!(T(1) == T(9)));
 2428|  29.8k|        static_assert(T(T::Third) == 9);
 2429|  29.8k|        static_assert(T(8) == 9);
 2430|  29.8k|        static_assert(!(T(0) == 9));
 2431|  29.8k|        static_assert(!(T(1) == 9));
 2432|  29.8k|        constexpr T array[] = {false, true, T::Third};
 2433|  29.8k|        static_assert(array[0].isStrictFalse());
 2434|  29.8k|        static_assert(array[1].isStrictTrue());
 2435|  29.8k|        static_assert(array[2].isThird());
 2436|  29.8k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  29.8k|        T a;
 2438|  29.8k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  29.8k|        assert(!a);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  29.8k|        assert(!bool(a));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  29.8k|        assert((!a ? true : false));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  29.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  29.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  29.8k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  29.8k|        assert(!a.isThird());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  29.8k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  29.8k|        assert(!a);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  29.8k|        assert(!bool(a));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  29.8k|        assert((!a ? true : false));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  29.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  29.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  29.8k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  29.8k|        assert(!a.isThird());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  29.8k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  29.8k|        assert(a);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  29.8k|        assert(bool(a));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  29.8k|        assert((a ? true : false));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  29.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  29.8k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  29.8k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  29.8k|        assert(!a.isThird());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  29.8k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  29.8k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  29.8k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 29.8k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  29.8k|        } else {
 2472|  29.8k|            assert(!a);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  29.8k|            assert(!bool(a));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  29.8k|            assert((!a ? true : false));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  29.8k|        }
 2476|  29.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  29.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  29.8k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  29.8k|        assert(a.isThird());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  29.8k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  29.8k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 29.8k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  29.8k|        } else {
 2488|  29.8k|            assert(!a);
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  29.8k|            assert(!bool(a));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  29.8k|            assert((a ? false : true));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  29.8k|            assert((!a ? true : false));
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  29.8k|        }
 2493|  29.8k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  29.8k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  29.8k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  29.8k|        assert(a.isThird());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  29.8k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  29.8k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  29.8k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb0EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 0, False: 14.9k]
  ------------------
 2468|      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]
  |  |  ------------------
  ------------------
 2469|      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]
  |  |  ------------------
  ------------------
 2470|      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]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2473|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2474|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2475|  14.9k|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 0, False: 14.9k]
  ------------------
 2483|      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]
  |  |  ------------------
  ------------------
 2484|      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]
  |  |  ------------------
  ------------------
 2485|      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]
  |  |  ------------------
  ------------------
 2486|      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]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|  14.9k|            assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2489|  14.9k|            assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2490|  14.9k|            assert((a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2491|  14.9k|            assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2492|  14.9k|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIaLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIhLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIsLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolItLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIiLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIjLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIxLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }
dt_cxxlib.cpp:_ZN12_GLOBAL__N_111TestTriBoolIN3upx7TriBoolIyLb1EEEE4testEb:
 2394|  14.9k|    static noinline void test(bool expect_true) {
 2395|  14.9k|        static_assert(std::is_class<T>::value);
 2396|  14.9k|        static_assert(std::is_nothrow_default_constructible<T>::value);
 2397|  14.9k|        static_assert(std::is_nothrow_destructible<T>::value);
 2398|  14.9k|        static_assert(std::is_standard_layout<T>::value);
 2399|  14.9k|        static_assert(std::is_trivially_copyable<T>::value);
 2400|  14.9k|        static_assert(sizeof(typename T::value_type) == sizeof(typename T::underlying_type));
 2401|  14.9k|        static_assert(alignof(typename T::value_type) == alignof(typename T::underlying_type));
 2402|       |#if defined(__m68k__) && defined(__atarist__) && defined(__GNUC__)
 2403|       |        // broken compiler or broken ABI
 2404|       |#elif defined(__i386__) && defined(__GNUC__) && (__GNUC__ == 7) && !defined(__clang__)
 2405|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2406|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2407|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2408|       |#elif defined(__i386__) && defined(__clang__) && (__clang__ < 6)
 2409|       |        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2410|       |        // i386: "long long" enum align bug/ABI problem on older compilers
 2411|       |        static_assert(alignof(T) <= alignof(typename T::underlying_type));
 2412|       |#else
 2413|  14.9k|        static_assert(sizeof(T) == sizeof(typename T::underlying_type));
 2414|  14.9k|        static_assert(alignof(T) == alignof(typename T::underlying_type));
 2415|  14.9k|#endif
 2416|  14.9k|        static_assert(!bool(T(false)));
 2417|  14.9k|        static_assert(bool(T(true)));
 2418|  14.9k|        static_assert(bool(T(T::Third)) == T::is_third_true);
 2419|  14.9k|        static_assert(T(false) == T::False);
 2420|  14.9k|        static_assert(T(true) == T::True);
 2421|  14.9k|        static_assert(T(T::False) == T::False);
 2422|  14.9k|        static_assert(T(T::True) == T::True);
 2423|  14.9k|        static_assert(T(T::Third) == T::Third);
 2424|  14.9k|        static_assert(T(T::Third) == T(9));
 2425|  14.9k|        static_assert(T(8) == T(9));
 2426|  14.9k|        static_assert(!(T(0) == T(9)));
 2427|  14.9k|        static_assert(!(T(1) == T(9)));
 2428|  14.9k|        static_assert(T(T::Third) == 9);
 2429|  14.9k|        static_assert(T(8) == 9);
 2430|  14.9k|        static_assert(!(T(0) == 9));
 2431|  14.9k|        static_assert(!(T(1) == 9));
 2432|  14.9k|        constexpr T array[] = {false, true, T::Third};
 2433|  14.9k|        static_assert(array[0].isStrictFalse());
 2434|  14.9k|        static_assert(array[1].isStrictTrue());
 2435|  14.9k|        static_assert(array[2].isThird());
 2436|  14.9k|        static_assert(sizeof(array) == 3 * sizeof(T));
 2437|  14.9k|        T a;
 2438|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2439|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2440|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2441|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2442|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2443|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2444|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2445|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2446|      0|        a = false;
 2447|  14.9k|        assert(a.getValue() == T::False);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2448|  14.9k|        assert(!a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2449|  14.9k|        assert(!bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2450|  14.9k|        assert((!a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2451|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2452|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2453|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2454|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2455|      0|        a = true;
 2456|  14.9k|        assert(a.getValue() == T::True);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2457|  14.9k|        assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2458|  14.9k|        assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2459|  14.9k|        assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2460|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2461|  14.9k|        assert(a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2462|  14.9k|        assert(a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2463|  14.9k|        assert(!a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2464|      0|        a = T::Third;
 2465|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2466|  14.9k|        assert(T::is_third_true == expect_true);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2467|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2467:13): [True: 14.9k, False: 0]
  ------------------
 2468|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2469|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2470|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2471|  14.9k|        } else {
 2472|      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]
  |  |  ------------------
  ------------------
 2473|      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]
  |  |  ------------------
  ------------------
 2474|      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]
  |  |  ------------------
  ------------------
 2475|      0|        }
 2476|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2477|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2478|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2479|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2480|      0|        a = 99;
 2481|  14.9k|        assert(a.getValue() == T::Third);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2482|  14.9k|        if (expect_true) {
  ------------------
  |  Branch (2482:13): [True: 14.9k, False: 0]
  ------------------
 2483|  14.9k|            assert(a);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2484|  14.9k|            assert(bool(a));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2485|  14.9k|            assert((a ? true : false));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2486|  14.9k|            assert((!a ? false : true));
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2487|  14.9k|        } else {
 2488|      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]
  |  |  ------------------
  ------------------
 2489|      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]
  |  |  ------------------
  ------------------
 2490|      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]
  |  |  ------------------
  ------------------
 2491|      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]
  |  |  ------------------
  ------------------
 2492|      0|        }
 2493|  14.9k|        assert(!a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2494|  14.9k|        assert(!a.isStrictTrue());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2495|  14.9k|        assert(!a.isStrictBool());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2496|  14.9k|        assert(a.isThird());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2497|      0|        mem_clear(&a);
 2498|  14.9k|        assert(a.isStrictFalse());
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
 2499|  14.9k|    }

dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
   35|  14.9k|TEST_CASE("raw_bytes ptr") {
   36|  14.9k|    upx_uint16_t *ptr = nullptr;
   37|  14.9k|    CHECK_NOTHROW(raw_bytes(ptr, 0));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   38|  14.9k|    CHECK_THROWS(raw_bytes(ptr, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   39|  14.9k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   40|  14.9k|    CHECK_THROWS(raw_index_bytes(ptr, 1, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   41|  14.9k|    CHECK_THROWS(raw_index_bytes(ptr, 0, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   42|  14.9k|    upx_uint16_t buf[4];
   43|  14.9k|    ptr = buf;
   44|  14.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 1, 1), ptr) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   45|  14.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(ptr, 4, 0), ptr) == 8u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   46|  14.9k|    UNUSED(ptr);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   47|  14.9k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
   49|  14.9k|TEST_CASE("raw_bytes bounded array") {
   50|  14.9k|    upx_uint16_t buf[4];
   51|  14.9k|    CHECK_NOTHROW(raw_bytes(buf, 8));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.9k|    CHECK_THROWS(raw_bytes(buf, 9));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.9k|    CHECK_NOTHROW(raw_index_bytes(buf, 4, 0));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.9k|    CHECK_THROWS(raw_index_bytes(buf, 4, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  14.9k|    CHECK_NOTHROW(raw_index_bytes(buf, 3, 2));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   56|  14.9k|    CHECK_THROWS(raw_index_bytes(buf, 3, 3));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   57|  14.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 1, 1), buf) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   58|  14.9k|    CHECK(ptr_udiff_bytes(raw_index_bytes(buf, 4, 0), buf) == 8u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   59|  14.9k|    UNUSED(buf);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   60|  14.9k|}
dt_xspan.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
   66|  44.7k|TEST_CASE("basic xspan usage") {
   67|  44.7k|    alignas(4) char buf[4] = {0, 1, 2, 3};
   68|       |
   69|  44.7k|    SUBCASE("XSPAN_x") {
  ------------------
  |  | 2944|  44.7k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.7k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.7k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.7k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.7k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.7k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
   70|  14.9k|        XSPAN_0(char) a0 = nullptr;
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   71|       |
   72|  14.9k|        XSPAN_0(char) b0 = buf;
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   73|  14.9k|        XSPAN_P(char) bp = buf;
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   74|       |
   75|  14.9k|        XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(char) c0 = XSPAN_0_MAKE(char, buf);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   76|  14.9k|        XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(char) cp = XSPAN_P_MAKE(char, buf);
  ------------------
  |  |   96|  14.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   77|  14.9k|        XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(char) cs = XSPAN_S_MAKE(char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   78|       |
   79|  14.9k|        XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(const char) const x0 = XSPAN_0_MAKE(const char, buf);
  ------------------
  |  |   95|  14.9k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.9k|        XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(const char) const xp = XSPAN_P_MAKE(const char, buf);
  ------------------
  |  |   96|  14.9k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   81|  14.9k|        XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(const char) const xs = XSPAN_S_MAKE(const char, buf, sizeof(buf));
  ------------------
  |  |   97|  14.9k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  14.9k|        XSPAN_P(const char) const yp = xs;
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
   83|  14.9k|        XSPAN_0(const char) const z0p = yp;
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   84|  14.9k|        XSPAN_0(const char) const z0s = xs;
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
   85|       |
   86|  14.9k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  14.9k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  14.9k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|  14.9k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.9k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   91|  14.9k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   92|       |
   93|  14.9k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   94|  14.9k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   95|  14.9k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   96|       |
   97|  14.9k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   98|  14.9k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   99|       |        // info: these will fail if we ever add an overload for bounded-arrays
  100|  14.9k|#if WITH_XSPAN >= 2
  101|  14.9k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  102|  14.9k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|  14.9k|#endif
  104|  14.9k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  105|  14.9k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  106|  14.9k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  107|  14.9k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  108|  14.9k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  109|  14.9k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  110|  14.9k|#if WITH_XSPAN >= 2
  111|  14.9k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  112|  14.9k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  113|  14.9k|#endif
  114|       |
  115|  14.9k|        XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2 = XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  116|  14.9k|        XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2 = XSPAN_TYPE_CAST(upx_uint16_t, cp + 2);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  117|  14.9k|        XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2 = XSPAN_TYPE_CAST(upx_uint16_t, cs + 2);
  ------------------
  |  |  120|  14.9k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  118|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  119|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  120|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  121|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  122|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  123|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  124|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  125|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  126|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|  14.9k|        XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  ------------------
                      XSPAN_0(upx_uint16_t) c0_2b = XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1;
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  128|  14.9k|        XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  ------------------
                      XSPAN_P(upx_uint16_t) cp_2b = XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1;
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  129|  14.9k|        XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  ------------------
                      XSPAN_S(upx_uint16_t) cs_2b = XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1;
  ------------------
  |  |  120|  29.8k|#define XSPAN_TYPE_CAST(type, x) ((x).template type_cast<type>())
  ------------------
  130|  14.9k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  131|  14.9k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  132|  14.9k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  133|       |
  134|  14.9k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  135|  14.9k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  136|  14.9k|    }
  137|       |
  138|  44.7k|    SUBCASE("XSPAN_x_VAR") {
  ------------------
  |  | 2944|  44.7k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.7k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.7k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.7k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.7k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.7k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  139|  14.9k|        XSPAN_0_VAR(char, b0, buf);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  140|  14.9k|        XSPAN_P_VAR(char, bp, buf);
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  141|       |
  142|  14.9k|        XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  143|  14.9k|        XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  144|  14.9k|        XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  145|       |
  146|  14.9k|        XSPAN_0_VAR(char, d0, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  147|  14.9k|        XSPAN_P_VAR(char, dp, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  148|  14.9k|        XSPAN_S_VAR(char, ds, buf + 1, sizeof(buf), buf);
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  149|       |
  150|  14.9k|        XSPAN_0_VAR(const char, const x0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  151|  14.9k|        XSPAN_P_VAR(const char, const xp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  152|  14.9k|        XSPAN_S_VAR(const char, const xs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  153|  14.9k|        XSPAN_P_VAR(const char, const yp, xs);
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  154|  14.9k|        XSPAN_0_VAR(const char, const z0p, yp);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  155|  14.9k|        XSPAN_0_VAR(const char, const z0s, xs);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  156|       |
  157|  14.9k|        CHECK(c0 == b0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  158|  14.9k|        CHECK(cp == bp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  159|  14.9k|        CHECK(cs == bp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.9k|        CHECK(d0 == dp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  161|  14.9k|        CHECK(d0 == ds);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  162|  14.9k|        CHECK(x0 == z0p);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  163|  14.9k|        CHECK(xp == z0s);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  164|       |
  165|  14.9k|#if WITH_XSPAN >= 1 || __cplusplus >= 201103L
  166|  14.9k|        XSPAN_0_VAR(char, a0, nullptr);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|  14.9k|        CHECK((a0 == nullptr));
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  168|  14.9k|        CHECK_NOTHROW(raw_bytes(a0, 0));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|  14.9k|        CHECK_THROWS(raw_bytes(a0, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  170|  14.9k|        CHECK_THROWS(raw_index_bytes(a0, 0, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  171|  14.9k|#endif
  172|       |
  173|  14.9k|        CHECK(raw_bytes(b0, 0) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  174|  14.9k|        CHECK(raw_bytes(bp, 0) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  175|       |        // info: these will fail if we ever add an overload for bounded-arrays
  176|  14.9k|#if WITH_XSPAN >= 2
  177|  14.9k|        CHECK(b0.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  178|  14.9k|        CHECK(bp.raw_size_in_bytes() == 0u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  179|  14.9k|#endif
  180|  14.9k|        CHECK(raw_bytes(c0, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  181|  14.9k|        CHECK(raw_index_bytes(c0, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  182|  14.9k|        CHECK(raw_bytes(cp, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  183|  14.9k|        CHECK(raw_index_bytes(cp, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  184|  14.9k|        CHECK(raw_bytes(cs, 4) == buf);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  185|  14.9k|        CHECK(raw_index_bytes(cs, 1, 3) == buf + 1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  186|  14.9k|#if WITH_XSPAN >= 2
  187|  14.9k|        CHECK_THROWS(raw_bytes(cs, 5));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  188|  14.9k|        CHECK_THROWS(raw_index_bytes(cs, 1, 4));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  189|  14.9k|#endif
  190|       |
  191|  14.9k|        XSPAN_0_VAR(upx_uint16_t, c0_2, XSPAN_TYPE_CAST(upx_uint16_t, c0 + 2));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  192|  14.9k|        XSPAN_P_VAR(upx_uint16_t, cp_2, XSPAN_TYPE_CAST(upx_uint16_t, cp + 2));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  193|  14.9k|        XSPAN_S_VAR(upx_uint16_t, cs_2, XSPAN_TYPE_CAST(upx_uint16_t, cs + 2));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  194|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  195|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  196|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, c0) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  197|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  198|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  199|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, cp) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  200|  14.9k|        CHECK(ptr_udiff_bytes(c0_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  201|  14.9k|        CHECK(ptr_udiff_bytes(cp_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  202|  14.9k|        CHECK(ptr_udiff_bytes(cs_2, cs) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  203|  14.9k|        XSPAN_0_VAR(upx_uint16_t, c0_2b, XSPAN_TYPE_CAST(upx_uint16_t, c0) + 1);
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  204|  14.9k|        XSPAN_P_VAR(upx_uint16_t, cp_2b, XSPAN_TYPE_CAST(upx_uint16_t, cp) + 1);
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  205|  14.9k|        XSPAN_S_VAR(upx_uint16_t, cs_2b, XSPAN_TYPE_CAST(upx_uint16_t, cs) + 1);
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  206|  14.9k|        CHECK(c0_2 == c0_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  207|  14.9k|        CHECK(cp_2 == cp_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  208|  14.9k|        CHECK(cs_2 == cs_2b);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  209|       |
  210|  14.9k|        CHECK(sizeof(*c0) == 1u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  211|  14.9k|        CHECK(sizeof(*c0_2) == 2u);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  212|  14.9k|    }
  213|       |
  214|  44.7k|    SUBCASE("xspan in class") {
  ------------------
  |  | 2944|  44.7k|#define SUBCASE(name) DOCTEST_SUBCASE(name)
  |  |  ------------------
  |  |  |  | 2278|  44.7k|    if(const doctest::detail::Subcase & DOCTEST_ANONYMOUS(DOCTEST_ANON_SUBCASE_) DOCTEST_UNUSED =  \
  |  |  |  |  ------------------
  |  |  |  |  |  |  419|  44.7k|#define DOCTEST_ANONYMOUS(x) DOCTEST_CAT(x, __COUNTER__)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  417|  44.7k|#define DOCTEST_CAT(s1, s2) DOCTEST_CAT_IMPL(s1, s2)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  416|  44.7k|#define DOCTEST_CAT_IMPL(s1, s2) s1##s2
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (416:34): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  | 2279|  44.7k|               doctest::detail::Subcase(name, __FILE__, __LINE__))
  |  |  ------------------
  ------------------
  215|  14.9k|        struct MyType {
  216|  14.9k|            XSPAN_0(char) s0;
  217|  14.9k|            XSPAN_P(char) sp;
  218|  14.9k|            XSPAN_S(char) ss;
  219|  14.9k|#if __cplusplus >= 201103L
  220|  14.9k|            XSPAN_0(char) x0 = nullptr;
  221|  14.9k|#endif
  222|  14.9k|#if WITH_XSPAN >= 2
  223|       |            // much nicer syntax when using fully checked xspan:
  224|  14.9k|            MyType(char *b, size_t n, bool) : s0(b, n), sp(b, n), ss(b, n) {}
  225|  14.9k|#endif
  226|  14.9k|            MyType(char *b, size_t n)
  227|  14.9k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  228|  14.9k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  229|  14.9k|                UNUSED(n);
  230|  14.9k|            }
  231|  14.9k|        };
  232|  14.9k|        MyType x(buf, sizeof(buf));
  233|  14.9k|        MyType y = MyType(buf, sizeof(buf));
  234|  14.9k|        CHECK(x.s0 == y.sp);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  235|  14.9k|    }
  236|  44.7k|}
dt_xspan.cpp:_ZZL19DOCTEST_ANON_FUNC_6vEN6MyTypeC2EPcm:
  227|  29.8k|                : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   95|  29.8k|#define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   89|  29.8k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |               #define XSPAN_0_MAKE(type, first, ...) (XSPAN_0(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
                              : s0(XSPAN_0_MAKE(char, b, n)), sp(XSPAN_P_MAKE(char, b, n)),
  ------------------
  |  |   96|  29.8k|#define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   90|  29.8k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |               #define XSPAN_P_MAKE(type, first, ...) (XSPAN_P(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  228|  29.8k|                  ss(XSPAN_S_MAKE(char, b, n)) {
  ------------------
  |  |   97|  29.8k|#define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   91|  29.8k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |               #define XSPAN_S_MAKE(type, first, ...) (XSPAN_S(type)(XSpanDebugFileMake(), (first), ##__VA_ARGS__))
  |  |  ------------------
  |  |  |  |   71|  29.8k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  29.8k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  29.8k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  229|  29.8k|                UNUSED(n);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  230|  29.8k|            }
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_11v:
  238|  14.9k|TEST_CASE("xspan array access") {
  239|  14.9k|    const size_t N = 16;
  240|  14.9k|    char buf[N];
  241|  14.9k|    memset(buf, 0, sizeof(buf));
  242|  14.9k|    XSPAN_0_VAR(char, c0, buf, sizeof(buf));
  ------------------
  |  |  107|  14.9k|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   89|  14.9k|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  ------------------
  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  243|  14.9k|    XSPAN_P_VAR(char, cp, buf, sizeof(buf));
  ------------------
  |  |  109|  14.9k|    XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   90|  14.9k|#define XSPAN_P(type) PtrOrSpan<type>
  |  |  ------------------
  |  |                   XSPAN_P(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  244|  14.9k|    XSPAN_S_VAR(char, cs, buf, sizeof(buf));
  ------------------
  |  |  111|  14.9k|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   91|  14.9k|#define XSPAN_S(type) Span<type>
  |  |  ------------------
  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  ------------------
  |  |  |  |   71|  14.9k|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  ------------------
  |  |  |  |  |  |   36|  14.9k|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  14.9k|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  245|   253k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (245:24): [True: 238k, False: 14.9k]
  ------------------
  246|   238k|        c0[i] += 1;
  247|   253k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (247:24): [True: 238k, False: 14.9k]
  ------------------
  248|   238k|        cp[i] += 1;
  249|   253k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (249:24): [True: 238k, False: 14.9k]
  ------------------
  250|   238k|        cs[i] += 1;
  251|  14.9k|#if __cplusplus >= 201103L
  252|   253k|    for (auto ptr = c0; ptr != c0 + N; ++ptr)
  ------------------
  |  Branch (252:25): [True: 238k, False: 14.9k]
  ------------------
  253|   238k|        *ptr += 1;
  254|   253k|    for (auto ptr = c0 + 0; ptr < c0 + N; ++ptr)
  ------------------
  |  Branch (254:29): [True: 238k, False: 14.9k]
  ------------------
  255|   238k|        *ptr += 1;
  256|   253k|    for (auto ptr = cp; ptr != cp + N; ++ptr)
  ------------------
  |  Branch (256:25): [True: 238k, False: 14.9k]
  ------------------
  257|   238k|        *ptr += 1;
  258|   253k|    for (auto ptr = cp + 0; ptr < cp + N; ++ptr)
  ------------------
  |  Branch (258:29): [True: 238k, False: 14.9k]
  ------------------
  259|   238k|        *ptr += 1;
  260|   253k|    for (auto ptr = cs; ptr != cs + N; ++ptr)
  ------------------
  |  Branch (260:25): [True: 238k, False: 14.9k]
  ------------------
  261|   238k|        *ptr += 1;
  262|   253k|    for (auto ptr = cs + 0; ptr < cs + N; ++ptr)
  ------------------
  |  Branch (262:29): [True: 238k, False: 14.9k]
  ------------------
  263|   238k|        *ptr += 1;
  264|  14.9k|#endif
  265|  14.9k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_13v:
 1136|  14.9k|TEST_CASE("decltype integral constants") {
 1137|  14.9k|    static_assert((std::is_same<decltype(0), int>::value), "");
 1138|  14.9k|    static_assert((std::is_same<decltype(0u), unsigned>::value), "");
 1139|  14.9k|    static_assert((std::is_same<decltype(0l), long>::value), "");
 1140|  14.9k|    static_assert((std::is_same<decltype(0ul), unsigned long>::value), "");
 1141|  14.9k|    static_assert((std::is_same<decltype(0ll), long long>::value), "");
 1142|  14.9k|    static_assert((std::is_same<decltype(0ull), unsigned long long>::value), "");
 1143|  14.9k|    static_assert((std::is_same<decltype((char) 0), char>::value), "");
 1144|  14.9k|    static_assert((std::is_same<decltype((short) 0), short>::value), "");
 1145|  14.9k|    static_assert((std::is_same<decltype((int) 0), int>::value), "");
 1146|  14.9k|    static_assert((std::is_same<decltype((long) 0), long>::value), "");
 1147|  14.9k|    static_assert((std::is_same<decltype((long long) 0), long long>::value), "");
 1148|  14.9k|    static_assert((std::is_same<decltype(char(0)), char>::value), "");
 1149|  14.9k|    static_assert((std::is_same<decltype(short(0)), short>::value), "");
 1150|  14.9k|    static_assert((std::is_same<decltype(int(0)), int>::value), "");
 1151|  14.9k|    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.9k|    using my_llong = long long;
 1154|  14.9k|    static_assert((std::is_same<decltype(my_llong(0)), long long>::value), "");
 1155|  14.9k|}
dt_xspan.cpp:_ZL20DOCTEST_ANON_FUNC_15v:
 1157|  14.9k|TEST_CASE("decltype pointer") {
 1158|  14.9k|    int dummy = 0;
 1159|  14.9k|    int *p = &dummy;
 1160|  14.9k|    const int *c = &dummy;
 1161|  14.9k|    static_assert((std::is_same<decltype(p - p), std::ptrdiff_t>::value), "");
 1162|  14.9k|    static_assert((std::is_same<decltype(c - c), std::ptrdiff_t>::value), "");
 1163|  14.9k|    static_assert((std::is_same<decltype(p - c), std::ptrdiff_t>::value), "");
 1164|  14.9k|    static_assert((std::is_same<decltype(c - p), std::ptrdiff_t>::value), "");
 1165|  14.9k|    typedef PointerTraits<int> TInt;
 1166|  14.9k|    typedef PointerTraits<const int> TConstInt;
 1167|  14.9k|    static_assert((std::is_same<int *, TInt::pointer>::value), "");
 1168|  14.9k|    static_assert((std::is_same<const int *, TInt::const_pointer>::value), "");
 1169|  14.9k|    static_assert((std::is_same<const int *, TConstInt::pointer>::value), "");
 1170|  14.9k|    static_assert((std::is_same<const int *, TConstInt::const_pointer>::value), "");
 1171|       |    //
 1172|  14.9k|    static_assert((std::is_same<decltype(p), TInt::pointer>::value), "");
 1173|  14.9k|    static_assert((std::is_same<decltype(c), TInt::const_pointer>::value), "");
 1174|  14.9k|    static_assert((std::is_same<decltype(c), TConstInt::pointer>::value), "");
 1175|  14.9k|    static_assert((std::is_same<decltype(p + 1), TInt::pointer>::value), "");
 1176|  14.9k|    static_assert((std::is_same<decltype(c + 1), TInt::const_pointer>::value), "");
 1177|  14.9k|    static_assert((std::is_same<decltype(c + 1), TConstInt::pointer>::value), "");
 1178|  14.9k|    static_assert((std::is_same<decltype(c + 1), TConstInt::const_pointer>::value), "");
 1179|  14.9k|    static_assert((std::is_same<decltype(c + 1), const int *>::value), "");
 1180|       |    // dereference
 1181|  14.9k|    static_assert((std::is_same<decltype(*p), TInt::reference>::value), "");
 1182|  14.9k|    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.9k|    static_assert((std::is_same<decltype(p[0]), TInt::reference>::value), "");
 1197|  14.9k|    static_assert((std::is_same<decltype(c[0]), TInt::const_reference>::value), "");
 1198|  14.9k|    static_assert((std::is_same<decltype(c[0]), TConstInt::reference>::value), "");
 1199|  14.9k|    static_assert((std::is_same<decltype(c[0]), TConstInt::const_reference>::value), "");
 1200|  14.9k|    UNUSED(p);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1201|  14.9k|    UNUSED(c);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
 1202|  14.9k|}

_Z11upx_adler32PKvjj:
   35|   575k|unsigned upx_adler32(const void *buf, unsigned len, unsigned adler) {
   36|   575k|    if (len == 0)
  ------------------
  |  Branch (36:9): [True: 440k, False: 135k]
  ------------------
   37|   440k|        return adler;
   38|   135k|    assert(buf != nullptr);
  ------------------
  |  |  493|   135k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   270k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 135k, 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|   575k|}
_Z14upx_decompressPKhjPhPjiPK21upx_compress_result_t:
  135|  22.2k|                   int method, const upx_compress_result_t *cresult) {
  136|  22.2k|    int r = UPX_E_ERROR;
  ------------------
  |  |  539|  22.2k|#define UPX_E_ERROR               (-1)
  ------------------
  137|       |
  138|  22.2k|    assert(*dst_len > 0);
  ------------------
  |  |  493|  22.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  44.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  139|  22.2k|    assert(src_len < *dst_len); // must be compressed
  ------------------
  |  |  493|  22.2k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  44.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.2k, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  140|       |
  141|  22.2k|    if (cresult && cresult->debug.method == 0)
  ------------------
  |  Branch (141:9): [True: 22.2k, False: 4]
  |  Branch (141:20): [True: 22.2k, False: 0]
  ------------------
  142|  22.2k|        cresult = nullptr;
  143|       |
  144|  22.2k|    const unsigned orig_dst_len = *dst_len;
  145|  22.2k|    if (__acc_cte(false)) {
  ------------------
  |  | 1558|  22.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:37): [Folded, False: 22.2k]
  |  |  ------------------
  ------------------
  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.2k|#if (WITH_LZMA)
  152|  22.2k|    else if (M_IS_LZMA(method))
  ------------------
  |  |  641|  22.2k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  626|  22.2k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (641:25): [True: 19.4k, False: 2.78k]
  |  |  ------------------
  ------------------
  153|  19.4k|        r = upx_lzma_decompress(src, src_len, dst, dst_len, method, cresult);
  154|  2.78k|#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|  2.78k|#if (WITH_UCL)
  160|  2.78k|    else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  637|  5.56k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  614|  5.56k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  616|  2.78k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (637:26): [True: 2.78k, False: 1]
  |  |  |  Branch (637:49): [True: 1.56k, False: 1.21k]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  638|  4.00k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  617|  2.43k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  619|  1.21k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (638:26): [True: 1.21k, False: 0]
  |  |  |  Branch (638:49): [True: 424, False: 793]
  |  |  ------------------
  ------------------
                  else if (M_IS_NRV2B(method) || M_IS_NRV2D(method) || M_IS_NRV2E(method))
  ------------------
  |  |  639|    793|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  620|  1.58k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  622|    793|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (639:26): [True: 793, False: 0]
  |  |  |  Branch (639:49): [True: 447, False: 346]
  |  |  ------------------
  ------------------
  161|  2.43k|        r = upx_ucl_decompress(src, src_len, dst, dst_len, method, cresult);
  162|    347|#endif
  163|    347|#if (WITH_ZLIB)
  164|    347|    else if (M_IS_DEFLATE(method))
  ------------------
  |  |  642|    347|#define M_IS_DEFLATE(x) ((x) == M_DEFLATE)
  |  |  ------------------
  |  |  |  |  627|    347|#define M_DEFLATE     15 // NOT YET USED
  |  |  ------------------
  |  |  |  Branch (642:25): [True: 341, False: 6]
  |  |  ------------------
  ------------------
  165|    341|        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.2k|    assert_noexcept(*dst_len <= orig_dst_len);
  ------------------
  |  |  496|  22.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  44.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|      0|    return r;
  177|  22.2k|}

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

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

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

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

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

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

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

_ZNK9Throwable6getMsgEv:
   43|  29.7k|    const char *getMsg() const noexcept { return msg; }
_ZNK9Throwable8getErrnoEv:
   44|  14.8k|    int getErrno() const noexcept { return err; }
_ZNK9Throwable9isWarningEv:
   45|  29.6k|    bool isWarning() const noexcept { return is_warning; }
_ZN9ExceptionC2EPKcib:
   76|  4.49M|    Exception(const char *m = nullptr, int e = 0, bool w = false) noexcept : super(m, e, w) {}
_ZN5ErrorC2EPKci:
   83|  29.8k|    Error(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN11IOExceptionC2EPKci:
   99|  30.6k|    IOException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN12EOFExceptionC2EPKci:
  105|  15.5k|    EOFException(const char *m = nullptr, int e = 0) noexcept : super(m, e) {}
_ZN16OverlayExceptionC2EPKcb:
  127|     58|    OverlayException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN17CantPackExceptionC2EPKcb:
  133|    386|    CantPackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN32UnknownExecutableFormatExceptionC2EPKcb:
  140|     88|        : super(m, w) {}
_ZN19CantUnpackExceptionC2EPKcb:
  158|  4.45M|    CantUnpackException(const char *m = nullptr, bool w = false) noexcept : super(m, 0, w) {}
_ZN18NotPackedExceptionC2EPKc:
  164|  2.59k|    NotPackedException(const char *m = nullptr) noexcept : super(m, true) {}
_ZN13InternalErrorC2EPKc:
  174|  29.8k|    InternalError(const char *m = nullptr) noexcept : super(m, 0) {}

_ZN8FileBase15unlink_noexceptEPKc:
   56|  14.8k|/*static*/ bool FileBase::unlink_noexcept(const char *name) noexcept {
   57|  14.8k|    assert_noexcept(name != nullptr && name[0] != 0);
  ------------------
  |  |  496|  14.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.8k, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 14.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   58|      0|    bool success = ::unlink(name) == 0;
   59|  14.8k|#if HAVE_CHMOD
   60|  14.8k|    if (!success)
  ------------------
  |  Branch (60:9): [True: 0, False: 14.8k]
  ------------------
   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.8k|#endif
   63|  14.8k|    return success;
   64|  14.8k|}
_ZN8FileBaseD2Ev:
   75|  59.6k|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|  59.6k|    if (std::uncaught_exceptions() == 0)
  ------------------
  |  Branch (80:9): [True: 29.9k, False: 29.6k]
  ------------------
   81|  29.9k|        closex(); // may_throw
   82|  29.6k|    else
   83|  29.6k|        close_noexcept(); // currently in exception unwinding, use noexcept variant
   84|  59.6k|}
_ZN8FileBase8do_sopenEv:
   86|  29.7k|bool FileBase::do_sopen() {
   87|  29.7k|    if (_shflags < 0)
  ------------------
  |  Branch (87:9): [True: 29.7k, False: 0]
  ------------------
   88|  29.7k|        _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|  29.7k|    if (_fd < 0)
  ------------------
  |  Branch (100:9): [True: 0, False: 29.7k]
  ------------------
  101|      0|        return false;
  102|  29.7k|    st.st_size = 0;
  103|  29.7k|    if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (103:9): [True: 0, False: 29.7k]
  ------------------
  104|      0|        throwIOException(_name, errno);
  105|  29.7k|    _length = st.st_size;
  106|  29.7k|    return true;
  107|  29.7k|}
_ZN8FileBase14close_noexceptEv:
  109|  89.5k|bool FileBase::close_noexcept() noexcept {
  110|  89.5k|    bool ok = true;
  111|  89.5k|    if (isOpen() && _fd != STDIN_FILENO && _fd != STDOUT_FILENO && _fd != STDERR_FILENO)
  ------------------
  |  Branch (111:9): [True: 29.7k, False: 59.7k]
  |  Branch (111:21): [True: 29.7k, False: 0]
  |  Branch (111:44): [True: 29.7k, False: 0]
  |  Branch (111:68): [True: 29.7k, False: 0]
  ------------------
  112|  29.7k|        if (::close(_fd) == -1)
  ------------------
  |  Branch (112:13): [True: 0, False: 29.7k]
  ------------------
  113|      0|            ok = false;
  114|  89.5k|    _fd = -1;
  115|  89.5k|    _flags = 0;
  116|  89.5k|    _mode = 0;
  117|  89.5k|    _name = nullptr;
  118|  89.5k|    _offset = 0;
  119|  89.5k|    _length = 0;
  120|  89.5k|    return ok;
  121|  89.5k|}
_ZN8FileBase6closexEv:
  123|  59.8k|void FileBase::closex() may_throw {
  124|  59.8k|    if (!close_noexcept())
  ------------------
  |  Branch (124:9): [True: 0, False: 59.8k]
  ------------------
  125|      0|        throwIOException("close failed", errno);
  126|  59.8k|}
_ZN8FileBase4seekExi:
  129|   889k|upx_off_t FileBase::seek(upx_off_t off, int whence) {
  130|   889k|    if (!isOpen())
  ------------------
  |  Branch (130:9): [True: 0, False: 889k]
  ------------------
  131|      0|        throwIOException("bad seek 1");
  132|   889k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (132:9): [True: 410, False: 889k]
  |  Branch (132:31): [True: 857k, False: 31.5k]
  ------------------
  133|    410|        throwIOException("bad seek");
  134|   889k|    if (whence == SEEK_SET) {
  ------------------
  |  Branch (134:9): [True: 857k, False: 31.8k]
  ------------------
  135|   857k|        if (off < 0)
  ------------------
  |  Branch (135:13): [True: 67, False: 857k]
  ------------------
  136|     67|            throwIOException("bad seek 2");
  137|   857k|        off += _offset;
  138|   857k|    } else if (whence == SEEK_END) {
  ------------------
  |  Branch (138:16): [True: 29.5k, False: 2.30k]
  ------------------
  139|  29.5k|        if (off > 0)
  ------------------
  |  Branch (139:13): [True: 0, False: 29.5k]
  ------------------
  140|      0|            throwIOException("bad seek 3");
  141|  29.5k|        off += _offset + _length;
  142|  29.5k|        whence = SEEK_SET;
  143|  29.5k|    } else if (whence == SEEK_CUR) {
  ------------------
  |  Branch (143:16): [True: 2.30k, False: 0]
  ------------------
  144|  2.30k|    } else
  145|      0|        throwInternalError("bad seek: whence");
  146|   888k|    upx_off_t l = ::lseek(_fd, off, whence);
  147|   888k|    if (l < 0)
  ------------------
  |  Branch (147:9): [True: 0, False: 888k]
  ------------------
  148|      0|        throwIOException("seek error", errno);
  149|   888k|    return l - _offset;
  150|   888k|}
_ZNK8FileBase4tellEv:
  152|    449|upx_off_t FileBase::tell() const {
  153|    449|    if (!isOpen())
  ------------------
  |  Branch (153:9): [True: 0, False: 449]
  ------------------
  154|      0|        throwIOException("bad tell");
  155|    449|    upx_off_t l = ::lseek(_fd, 0, SEEK_CUR);
  156|    449|    if (l < 0)
  ------------------
  |  Branch (156:9): [True: 0, False: 449]
  ------------------
  157|      0|        throwIOException("tell error", errno);
  158|    449|    return l - _offset;
  159|    449|}
_ZN8FileBase10set_extentExx:
  161|    145|void FileBase::set_extent(upx_off_t offset, upx_off_t length) {
  162|    145|    _offset = offset;
  163|    145|    _length = length;
  164|    145|}
_ZNK8FileBase7st_sizeEv:
  166|   510k|upx_off_t FileBase::st_size() const { return _length; }
_ZN9InputFile5sopenEPKcii:
  172|  14.8k|void InputFile::sopen(const char *name, int flags, int shflags) {
  173|  14.8k|    closex();
  174|  14.8k|    _name = name;
  175|  14.8k|    _flags = flags;
  176|  14.8k|    _shflags = shflags;
  177|  14.8k|    _mode = 0;
  178|  14.8k|    _offset = 0;
  179|  14.8k|    _length = 0;
  180|  14.8k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (180:9): [True: 0, False: 14.8k]
  ------------------
  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.8k|    _length_orig = _length;
  189|  14.8k|}
_ZN9InputFile4readEN5XSpan9PtrOrSpanIvEEx:
  191|   563k|int InputFile::read(SPAN_P(void) buf, upx_int64_t blen) {
  192|   563k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (192:9): [True: 0, False: 563k]
  |  Branch (192:22): [True: 2, False: 563k]
  ------------------
  193|      2|        throwIOException("bad read");
  194|   563k|    int len = (int) mem_size(1, blen); // sanity check
  195|   563k|#if WITH_XSPAN >= 2
  196|   563k|    NO_fprintf(stderr, "read %p %zu (%p) %d\n", buf.raw_ptr(), buf.raw_size_in_bytes(),
  197|   563k|               buf.raw_base(), len);
  198|   563k|#endif
  199|   563k|    errno = 0;
  200|   563k|    long l = acc_safe_hread(_fd, raw_bytes(buf, len), len);
  201|   563k|    if (errno)
  ------------------
  |  Branch (201:9): [True: 0, False: 563k]
  ------------------
  202|      0|        throwIOException("read error", errno);
  203|   563k|    return (int) l;
  204|   563k|}
_ZN9InputFile5readxEN5XSpan9PtrOrSpanIvEEx:
  206|   554k|int InputFile::readx(SPAN_P(void) buf, upx_int64_t blen) {
  207|   554k|    int l = this->read(buf, blen);
  208|   554k|    if (l != blen)
  ------------------
  |  Branch (208:9): [True: 15.5k, False: 538k]
  ------------------
  209|  15.5k|        throwEOFException();
  210|   538k|    return l;
  211|   554k|}
_ZN9InputFile4seekExi:
  213|   888k|upx_off_t InputFile::seek(upx_off_t off, int whence) {
  214|   888k|    upx_off_t pos = super::seek(off, whence);
  215|   888k|    if (_length < pos)
  ------------------
  |  Branch (215:9): [True: 14.6k, False: 873k]
  ------------------
  216|  14.6k|        throwIOException("bad seek 4");
  217|   873k|    return pos;
  218|   888k|}
_ZNK9InputFile12st_size_origEv:
  220|    369|upx_off_t InputFile::st_size_orig() const { return _length_orig; }
_ZN10OutputFile5sopenEPKciii:
  240|  14.8k|void OutputFile::sopen(const char *name, int flags, int shflags, int mode) {
  241|  14.8k|    closex();
  242|  14.8k|    _name = name;
  243|  14.8k|    _flags = flags;
  244|  14.8k|    _shflags = shflags;
  245|  14.8k|    _mode = mode;
  246|  14.8k|    _offset = 0;
  247|  14.8k|    _length = 0;
  248|  14.8k|    if (!super::do_sopen()) {
  ------------------
  |  Branch (248:9): [True: 0, False: 14.8k]
  ------------------
  249|       |#if 0
  250|       |        // don't throw FileNotFound here -- this is confusing
  251|       |        if (errno == ENOENT)
  252|       |            throw FileNotFoundException(_name,errno);
  253|       |        else
  254|       |#endif
  255|      0|        if (errno == EEXIST)
  ------------------
  |  Branch (255:13): [True: 0, False: 0]
  ------------------
  256|      0|            throw FileAlreadyExistsException(_name, errno);
  257|      0|        else
  258|      0|            throwIOException(_name, errno);
  259|      0|    }
  260|  14.8k|}
_ZN10OutputFile5writeEN5XSpan15PtrOrSpanOrNullIKvEEx:
  279|  22.6k|void OutputFile::write(SPAN_0(const void) buf, upx_int64_t blen) {
  280|  22.6k|    if (!isOpen() || blen < 0)
  ------------------
  |  Branch (280:9): [True: 0, False: 22.6k]
  |  Branch (280:22): [True: 0, False: 22.6k]
  ------------------
  281|      0|        throwIOException("bad write");
  282|       |    // allow nullptr if blen == 0
  283|  22.6k|    if (blen == 0)
  ------------------
  |  Branch (283:9): [True: 3, False: 22.6k]
  ------------------
  284|      3|        return;
  285|  22.6k|    int len = (int) mem_size(1, blen); // sanity check
  286|  22.6k|#if WITH_XSPAN >= 2
  287|  22.6k|    NO_fprintf(stderr, "write %p %zu (%p) %d\n", buf.raw_ptr(), buf.raw_size_in_bytes(),
  288|  22.6k|               buf.raw_base(), len);
  289|  22.6k|#endif
  290|  22.6k|    errno = 0;
  291|  22.6k|    long l = acc_safe_hwrite(_fd, raw_bytes(buf, len), len);
  292|  22.6k|    if (l != len)
  ------------------
  |  Branch (292:9): [True: 0, False: 22.6k]
  ------------------
  293|      0|        throwIOException("write error", errno);
  294|  22.6k|    bytes_written += len;
  295|       |#if TESTING && 0
  296|       |    static upx_std_atomic(bool) dumping;
  297|       |    if (!dumping) {
  298|       |        dumping = true;
  299|       |        char fn[64];
  300|       |        static int part = 0;
  301|       |        snprintf(fn, sizeof(fn), "upx-dump-%04d.data", part++);
  302|       |        OutputFile::dump(fn, buf, len);
  303|       |        dumping = false;
  304|       |    }
  305|       |#endif
  306|  22.6k|}
_ZN10OutputFile7rewriteEN5XSpan9PtrOrSpanIKvEEx:
  308|    182|void OutputFile::rewrite(SPAN_P(const void) buf, upx_int64_t blen) {
  309|    182|    assert(!opt->to_stdout);
  ------------------
  |  |  493|    182|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|    364|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 182, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  310|      0|    write(buf, blen);
  311|    182|    bytes_written -= blen; // restore
  312|    182|}
_ZN10OutputFile4seekExi:
  325|  1.32k|upx_off_t OutputFile::seek(upx_off_t off, int whence) {
  326|  1.32k|    if (!mem_size_valid_bytes(off >= 0 ? off : -off)) // sanity check
  ------------------
  |  Branch (326:9): [True: 0, False: 1.32k]
  |  Branch (326:31): [True: 1.32k, False: 0]
  ------------------
  327|      0|        throwIOException("bad seek");
  328|  1.32k|    assert(!opt->to_stdout);
  ------------------
  |  |  493|  1.32k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  2.64k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 1.32k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  329|      0|    switch (whence) {
  ------------------
  |  Branch (329:13): [True: 1.32k, False: 0]
  ------------------
  330|  1.32k|    case SEEK_SET:
  ------------------
  |  Branch (330:5): [True: 1.32k, False: 0]
  ------------------
  331|  1.32k|        if (bytes_written < off)
  ------------------
  |  Branch (331:13): [True: 257, False: 1.06k]
  ------------------
  332|    257|            bytes_written = off;
  333|  1.32k|        _length = bytes_written; // cheap, lazy update; needed?
  334|  1.32k|        break;
  335|      0|    case SEEK_END:
  ------------------
  |  Branch (335:5): [True: 0, False: 1.32k]
  ------------------
  336|      0|        _length = bytes_written; // necessary
  337|      0|        break;
  338|  1.32k|    }
  339|  1.32k|    return super::seek(off, whence);
  340|  1.32k|}
_ZN10OutputFile10set_extentExx:
  352|     20|void OutputFile::set_extent(upx_off_t offset, upx_off_t length) {
  353|     20|    super::set_extent(offset, length);
  354|     20|    bytes_written = 0;
  355|     20|    if (0 == offset && 0xffffffffLL == length) { // TODO: check all callers of this method
  ------------------
  |  Branch (355:9): [True: 0, False: 20]
  |  Branch (355:24): [True: 0, False: 0]
  ------------------
  356|      0|        st.st_size = 0;
  357|      0|        if (::fstat(_fd, &st) != 0)
  ------------------
  |  Branch (357:13): [True: 0, False: 0]
  ------------------
  358|      0|            throwIOException(_name, errno);
  359|      0|        _length = st.st_size - offset;
  360|      0|    }
  361|     20|}
_ZN10OutputFile12unset_extentEv:
  363|     20|upx_off_t OutputFile::unset_extent() {
  364|     20|    upx_off_t l = ::lseek(_fd, 0, SEEK_END);
  365|     20|    if (l < 0)
  ------------------
  |  Branch (365:9): [True: 0, False: 20]
  ------------------
  366|      0|        throwIOException("lseek error", errno);
  367|     20|    _offset = 0;
  368|     20|    _length = l;
  369|     20|    bytes_written = _length;
  370|     20|    return _length;
  371|     20|}
file.cpp:_ZL19DOCTEST_ANON_FUNC_2v:
  388|  14.9k|TEST_CASE("file") {
  389|  14.9k|    InputFile fi;
  390|  14.9k|    CHECK(!fi.isOpen());
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|  14.9k|    CHECK(fi.getFd() == -1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|  14.9k|    CHECK(fi.st_size() == 0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  393|  14.9k|    OutputFile fo;
  394|  14.9k|    CHECK(!fo.isOpen());
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|  14.9k|    CHECK(fo.getFd() == -1);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|  14.9k|    CHECK(fo.getBytesWritten() == 0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  397|  14.9k|}

_ZNK8FileBase6isOpenEv:
   42|  1.59M|    bool isOpen() const noexcept { return _fd >= 0; }
_ZNK8FileBase5getFdEv:
   43|  29.8k|    int getFd() const noexcept { return _fd; }
_ZNK8FileBase7getNameEv:
   44|    407|    const char *getName() const noexcept { return _name; }
_ZNK10OutputFile15getBytesWrittenEv:
  121|  15.0k|    upx_off_t getBytesWritten() const { return bytes_written; }
_ZN10OutputFileC2Ev:
  105|  29.8k|    explicit OutputFile() noexcept = default;
_ZN8FileBaseC2Ev:
   36|  59.6k|    explicit FileBase() noexcept = default;
_ZN9InputFileC2Ev:
   80|  29.8k|    explicit InputFile() noexcept = default;

_ZN10FilterImpl9getFilterEi:
   47|  17.8k|/*static*/ const FilterImpl::FilterEntry *FilterImpl::getFilter(int id) {
   48|  17.8k|    static upx_uint8_t filter_map[256];
   49|  17.8k|    static upx_std_once_flag init_done;
   50|       |
   51|  17.8k|    upx_std_call_once(init_done, []() noexcept {
   52|       |        // init the filter_map[] (using a lambda function)
   53|  17.8k|        assert_noexcept(n_filters <= 254); // as 0xff means "empty slot"
   54|  17.8k|        memset(filter_map, 0xff, sizeof(filter_map));
   55|  17.8k|        for (int i = 0; i < n_filters; i++) {
   56|  17.8k|            int filter_id = filters[i].id;
   57|  17.8k|            assert_noexcept(filter_id >= 0 && filter_id <= 255);
   58|  17.8k|            assert_noexcept(filter_map[filter_id] == 0xff);
   59|  17.8k|            filter_map[filter_id] = (upx_uint8_t) i;
   60|  17.8k|        }
   61|  17.8k|    });
   62|       |
   63|  17.8k|    if (id < 0 || id > 255)
  ------------------
  |  Branch (63:9): [True: 0, False: 17.8k]
  |  Branch (63:19): [True: 0, False: 17.8k]
  ------------------
   64|      0|        return nullptr;
   65|  17.8k|    unsigned index = filter_map[id];
   66|  17.8k|    if (index == 0xff) // empty slot
  ------------------
  |  |  340|  17.8k|#define index    upx_renamed_index
  ------------------
  |  Branch (66:9): [True: 4, False: 17.7k]
  ------------------
   67|      4|        return nullptr;
   68|  17.7k|    assert_noexcept(filters[index].id == id);
  ------------------
  |  |  496|  17.7k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  35.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 17.7k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   69|  17.7k|    return &filters[index];
  ------------------
  |  |  340|  17.7k|#define index    upx_renamed_index
  ------------------
   70|  17.8k|}
_ZN6FilterC2Ei:
   94|  17.8k|Filter::Filter(int level) noexcept : clevel(level) { init(); }
_ZN6Filter4initEij:
   96|  35.6k|void Filter::init(int id_, unsigned addvalue_) noexcept {
   97|  35.6k|    this->id = id_;
   98|  35.6k|    initFilter(this, nullptr, 0);
   99|       |    // clear input parameters
  100|  35.6k|    this->addvalue = addvalue_;
  101|  35.6k|    this->preferred_ctos = nullptr;
  102|       |    // clear input/output parameters
  103|  35.6k|    this->cto = 0;
  104|  35.6k|    this->n_mru = 0;
  105|  35.6k|}
_ZN6Filter8unfilterEN5XSpan15PtrOrSpanOrNullIhEEjb:
  139|  17.8k|void Filter::unfilter(SPAN_0(byte) xbuf, unsigned buf_len_, bool verify_checksum) {
  140|  17.8k|    byte *const buf_ = raw_bytes(xbuf, buf_len_);
  141|  17.8k|    initFilter(this, buf_, buf_len_);
  142|       |
  143|  17.8k|    const FilterImpl::FilterEntry *const fe = FilterImpl::getFilter(id);
  144|  17.8k|    if (fe == nullptr)
  ------------------
  |  Branch (144:9): [True: 4, False: 17.7k]
  ------------------
  145|      4|        throwInternalError("unfilter-1");
  146|  17.7k|    if (fe->id == 0)
  ------------------
  |  Branch (146:9): [True: 0, False: 17.7k]
  ------------------
  147|      0|        return;
  148|  17.7k|    if (buf_len < fe->min_buf_len)
  ------------------
  |  Branch (148:9): [True: 0, False: 17.7k]
  ------------------
  149|      0|        return;
  150|  17.7k|    if (fe->max_buf_len && buf_len > fe->max_buf_len)
  ------------------
  |  Branch (150:9): [True: 4.58k, False: 13.2k]
  |  Branch (150:28): [True: 0, False: 4.58k]
  ------------------
  151|      0|        return;
  152|  17.7k|    if (!fe->do_unfilter)
  ------------------
  |  Branch (152:9): [True: 0, False: 17.7k]
  ------------------
  153|      0|        throwInternalError("unfilter-2");
  154|       |
  155|  17.7k|    NO_printf("unfilter: %02x %p %d\n", this->id, this->buf, this->buf_len);
  156|  17.7k|    int r = (*fe->do_unfilter)(this);
  157|  17.7k|    NO_printf("unfilter: %02x %d\n", fe->id, r);
  158|  17.7k|    if (r != 0)
  ------------------
  |  Branch (158:9): [True: 0, False: 17.7k]
  ------------------
  159|      0|        throwInternalError("unfilter-3");
  160|       |    // OutputFile::dump("unfilter.dat", buf, buf_len);
  161|       |
  162|       |    // verify checksum
  163|  17.7k|    if (verify_checksum && clevel != 1) {
  ------------------
  |  Branch (163:9): [True: 0, False: 17.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|  17.7k|}
filter.cpp:_ZL10initFilterP6FilterPhj:
   36|  53.4k|static void initFilter(Filter *f, byte *buf, unsigned buf_len) noexcept {
   37|  53.4k|    f->buf = buf;
   38|  53.4k|    f->buf_len = buf_len;
   39|       |    // clear output parameters
   40|  53.4k|    f->calls = f->wrongcalls = f->noncalls = f->firstcall = f->lastcall = 0;
   41|  53.4k|}
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|  4.14M|{
   89|  4.14M|    int ilen = 2;
   90|  4.14M|    if (3 == (3& (w >>0))) {
  ------------------
  |  Branch (90:9): [True: 1.11M, False: 3.02M]
  ------------------
   91|  1.11M|        ilen += 2;
   92|  1.11M|        if (7 == (7& (w >>2))) {
  ------------------
  |  Branch (92:13): [True: 93.0k, False: 1.01M]
  ------------------
   93|  93.0k|            ilen += 2;
   94|       |            // NYI: 8 bytes or longer
   95|  93.0k|        }
   96|  1.11M|    }
   97|  4.14M|    return ilen;
   98|  4.14M|}
filter_impl.cpp:_ZL10u_auipc_leP6Filter:
  196|     48|static int U(Filter *f) {
  197|     48|    byte *b = f->buf;
  198|     48|    const int size = f->buf_len -8;
  199|       |
  200|     48|    int ic;
  201|     48|    int calls = 0, noncalls = 0;
  202|     48|    int lastcall = 0;
  203|       |
  204|     48|    int ilen;
  205|  4.35M|    for (ic = 0; ic <= size; ic += ilen) {
  ------------------
  |  Branch (205:18): [True: 4.35M, False: 48]
  ------------------
  206|  4.35M|        int word1 = get_le32(  ic+b);
  207|  4.35M|        if (!COND(word1)) { // not interesting at all
  ------------------
  |  |   77|  4.35M|#define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   71|  4.35M|#define AUIPC 0x17
  |  |  ------------------
  |  |               #define COND(word1) (AUIPC==opf(word1))
  |  |  ------------------
  |  |  |  |   72|  4.35M|#define opf(w) (0x7f& (w))
  |  |  ------------------
  ------------------
  |  Branch (207:13): [True: 4.14M, False: 211k]
  ------------------
  208|  4.14M|            ilen = get_ilen(word1);
  209|  4.14M|            continue;  // advance to next instr
  210|  4.14M|        }
  211|   211k|        int word2 = get_le32(4+ic+b);
  212|   211k|        int r_aui = 037& (word2 >> 7);
  213|   211k|        if (CONDu(word2, r_aui)) {
  ------------------
  |  |  190|   211k|#define CONDu(word2, r_aui) ( r_aui==rs1u(word2) && ( \
  |  |  ------------------
  |  |  |  |  188|   422k|#define   rs1u(i_type) (037& ((i_type) >>27))
  |  |  ------------------
  |  |  |  Branch (190:31): [True: 131k, False: 80.1k]
  |  |  ------------------
  |  |  191|   131k|         0x03==opu(word2) /*FETCH*/ \
  |  |  ------------------
  |  |  |  |  186|   131k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   262k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (191:10): [True: 13.5k, False: 117k]
  |  |  ------------------
  |  |  192|   131k|     || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  186|   117k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   235k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x67==opu(word2) && 0==func3u(word2)) /*JALR*/ \
  |  |  ------------------
  |  |  |  |  187|  37.7k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (192:10): [True: 37.7k, False: 79.8k]
  |  |  |  Branch (192:30): [True: 18.8k, False: 18.8k]
  |  |  ------------------
  |  |  193|   131k|     || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  186|  98.7k|#define opu(w) opf((w) >>12)
  |  |  |  |  ------------------
  |  |  |  |  |  |   72|   197k|#define opf(w) (0x7f& (w))
  |  |  |  |  ------------------
  |  |  ------------------
  |  |                    || (0x13==opu(word2) && 0==func3u(word2)) /*ADDI*/ \
  |  |  ------------------
  |  |  |  |  187|  34.3k|#define func3u(i_type) (  7& ((i_type) >>24))
  |  |  ------------------
  |  |  |  Branch (193:10): [True: 34.3k, False: 64.4k]
  |  |  |  Branch (193:30): [True: 14.3k, False: 19.9k]
  |  |  ------------------
  |  |  194|   131k|    ) )
  ------------------
  214|  46.8k|            lastcall = ic;
  215|  46.8k|            ++calls;
  216|  46.8k|        }
  217|   164k|        else {
  218|   164k|            ++noncalls;
  219|   164k|        }
  220|       |
  221|   211k|        int addr = get_be32(1+ic+b);  // Note BIG_ENDIAN fetch at 1-byte offset
  222|   211k|        addr = (~0xff & addr) | ((0x7f& addr) <<1) | (1& (word1 >>7));
  223|   211k|        addr -= ic;
  224|   211k|        addr += ((1u <<11)& addr) <<1;  // 12-bit imm is sign-extended
  225|       |
  226|   211k|        set_le32(0+ic+b, (~0xfff& addr) | (r_aui <<7) | AUIPC);
  ------------------
  |  |   71|   211k|#define AUIPC 0x17
  ------------------
  227|   211k|        set_le32(4+ic+b,    (addr <<20) | ((unsigned)word2 >>12));
  228|   211k|        ilen = 4;  // resume scanning after AUIPC
  229|       |
  230|   211k|        if (0) { // DEBUG
  ------------------
  |  Branch (230:13): [Folded, False: 211k]
  ------------------
  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|   211k|    }
  239|       |
  240|     48|    f->calls = calls;
  241|     48|    f->noncalls = noncalls;
  242|     48|    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|     48|    return 0;
  248|     48|}

filter_impl.cpp:_ZL9u_ct16_e8P6Filter:
   59|     39|static int u_ct16_e8(Filter *f) { CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|     39|    byte *b = f->buf;                                                                              \
  |  |   34|     39|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.93M|    do {                                                                                           \
  |  |   36|  4.93M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 344k, False: 4.58M]
  |  |  ------------------
  |  |   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|   344k|        }                                                                                          \
  |  |   44|  4.93M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.93M, False: 39]
  |  |  ------------------
  |  |   45|     39|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 27, False: 12]
  |  |  ------------------
  |  |   46|     39|        f->lastcall += 2;                                                                          \
  |  |   47|     39|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct16_e9P6Filter:
   61|     34|static int u_ct16_e9(Filter *f) { CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16) }
  ------------------
  |  |   33|     34|    byte *b = f->buf;                                                                              \
  |  |   34|     34|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.77M|    do {                                                                                           \
  |  |   36|  3.77M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 357k, False: 3.41M]
  |  |  ------------------
  |  |   37|   357k|            b += 1;                                                                                \
  |  |   38|   357k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   357k|            f->lastcall = a;                                                                       \
  |  |   40|   357k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   357k|            f->calls++;                                                                            \
  |  |   42|   357k|            b += 2 - 1;                                                                            \
  |  |   43|   357k|        }                                                                                          \
  |  |   44|  3.77M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.77M, False: 34]
  |  |  ------------------
  |  |   45|     34|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 13, False: 21]
  |  |  ------------------
  |  |   46|     34|        f->lastcall += 2;                                                                          \
  |  |   47|     34|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct16_e8e9P6Filter:
   63|     69|static int u_ct16_e8e9(Filter *f) {
   64|     69|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le16, set_le16)
  ------------------
  |  |   33|     69|    byte *b = f->buf;                                                                              \
  |  |   34|     69|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.75M|    do {                                                                                           \
  |  |   36|  14.1M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 139k, False: 4.61M]
  |  |  |  Branch (36:13): [True: 213k, False: 4.39M]
  |  |  ------------------
  |  |   37|   353k|            b += 1;                                                                                \
  |  |   38|   353k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   353k|            f->lastcall = a;                                                                       \
  |  |   40|   353k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   353k|            f->calls++;                                                                            \
  |  |   42|   353k|            b += 2 - 1;                                                                            \
  |  |   43|   353k|        }                                                                                          \
  |  |   44|  4.75M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.75M, False: 69]
  |  |  ------------------
  |  |   45|     69|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 26, False: 43]
  |  |  ------------------
  |  |   46|     69|        f->lastcall += 2;                                                                          \
  |  |   47|     69|    return 0;
  ------------------
   65|     69|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_leP6Filter:
   90|    241|static int u_ct16_e8_bswap_le(Filter *f) {
   91|    241|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    241|    byte *b = f->buf;                                                                              \
  |  |   34|    241|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.85M|    do {                                                                                           \
  |  |   36|  3.85M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 352k, False: 3.50M]
  |  |  ------------------
  |  |   37|   352k|            b += 1;                                                                                \
  |  |   38|   352k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   352k|            f->lastcall = a;                                                                       \
  |  |   40|   352k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   352k|            f->calls++;                                                                            \
  |  |   42|   352k|            b += 2 - 1;                                                                            \
  |  |   43|   352k|        }                                                                                          \
  |  |   44|  3.85M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.85M, False: 241]
  |  |  ------------------
  |  |   45|    241|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 42, False: 199]
  |  |  ------------------
  |  |   46|    241|        f->lastcall += 2;                                                                          \
  |  |   47|    241|    return 0;
  ------------------
   92|    241|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_leP6Filter:
   94|    118|static int u_ct16_e9_bswap_le(Filter *f) {
   95|    118|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|    118|    byte *b = f->buf;                                                                              \
  |  |   34|    118|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  6.23M|    do {                                                                                           \
  |  |   36|  6.23M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 403k, False: 5.82M]
  |  |  ------------------
  |  |   37|   403k|            b += 1;                                                                                \
  |  |   38|   403k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   403k|            f->lastcall = a;                                                                       \
  |  |   40|   403k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   403k|            f->calls++;                                                                            \
  |  |   42|   403k|            b += 2 - 1;                                                                            \
  |  |   43|   403k|        }                                                                                          \
  |  |   44|  6.23M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 6.23M, False: 118]
  |  |  ------------------
  |  |   45|    118|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 15, False: 103]
  |  |  ------------------
  |  |   46|    118|        f->lastcall += 2;                                                                          \
  |  |   47|    118|    return 0;
  ------------------
   96|    118|}
filter_impl.cpp:_ZL20u_ct16_e8e9_bswap_leP6Filter:
   98|  1.01k|static int u_ct16_e8e9_bswap_le(Filter *f) {
   99|  1.01k|    CT16(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|  1.01k|    byte *b = f->buf;                                                                              \
  |  |   34|  1.01k|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  5.05M|    do {                                                                                           \
  |  |   36|  14.9M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 203k, False: 4.85M]
  |  |  |  Branch (36:13): [True: 257k, False: 4.59M]
  |  |  ------------------
  |  |   37|   461k|            b += 1;                                                                                \
  |  |   38|   461k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   461k|            f->lastcall = a;                                                                       \
  |  |   40|   461k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   461k|            f->calls++;                                                                            \
  |  |   42|   461k|            b += 2 - 1;                                                                            \
  |  |   43|   461k|        }                                                                                          \
  |  |   44|  5.05M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.05M, False: 1.01k]
  |  |  ------------------
  |  |   45|  1.01k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 33, False: 986]
  |  |  ------------------
  |  |   46|  1.01k|        f->lastcall += 2;                                                                          \
  |  |   47|  1.01k|    return 0;
  ------------------
  100|  1.01k|}
filter_impl.cpp:_ZL18u_ct16_e8_bswap_beP6Filter:
  129|     39|static int u_ct16_e8_bswap_be(Filter *f) {
  130|     39|    CT16(f, (*b == 0xe8), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|     39|    byte *b = f->buf;                                                                              \
  |  |   34|     39|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  2.62M|    do {                                                                                           \
  |  |   36|  2.62M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 135k, False: 2.48M]
  |  |  ------------------
  |  |   37|   135k|            b += 1;                                                                                \
  |  |   38|   135k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   135k|            f->lastcall = a;                                                                       \
  |  |   40|   135k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   135k|            f->calls++;                                                                            \
  |  |   42|   135k|            b += 2 - 1;                                                                            \
  |  |   43|   135k|        }                                                                                          \
  |  |   44|  2.62M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 2.62M, False: 39]
  |  |  ------------------
  |  |   45|     39|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 25, False: 14]
  |  |  ------------------
  |  |   46|     39|        f->lastcall += 2;                                                                          \
  |  |   47|     39|    return 0;
  ------------------
  131|     39|}
filter_impl.cpp:_ZL18u_ct16_e9_bswap_beP6Filter:
  133|    413|static int u_ct16_e9_bswap_be(Filter *f) {
  134|    413|    CT16(f, (*b == 0xe9), 0 - a - f->addvalue, get_le16, set_be16)
  ------------------
  |  |   33|    413|    byte *b = f->buf;                                                                              \
  |  |   34|    413|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.92M|    do {                                                                                           \
  |  |   36|  3.92M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 323k, False: 3.60M]
  |  |  ------------------
  |  |   37|   323k|            b += 1;                                                                                \
  |  |   38|   323k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   323k|            f->lastcall = a;                                                                       \
  |  |   40|   323k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   323k|            f->calls++;                                                                            \
  |  |   42|   323k|            b += 2 - 1;                                                                            \
  |  |   43|   323k|        }                                                                                          \
  |  |   44|  3.92M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.92M, False: 413]
  |  |  ------------------
  |  |   45|    413|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 16, False: 397]
  |  |  ------------------
  |  |   46|    413|        f->lastcall += 2;                                                                          \
  |  |   47|    413|    return 0;
  ------------------
  135|    413|}
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.08M|    do {                                                                                           \
  |  |   36|  15.0M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 183k, False: 4.90M]
  |  |  |  Branch (36:13): [True: 320k, False: 4.58M]
  |  |  ------------------
  |  |   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.08M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 5.08M, False: 35]
  |  |  ------------------
  |  |   45|     35|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 32, False: 3]
  |  |  ------------------
  |  |   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|  2.56M|    do {                                                                                           \
  |  |  164|  2.56M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 160k, False: 2.40M]
  |  |  ------------------
  |  |  165|   160k|            b += 1;                                                                                \
  |  |  166|   160k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   160k|            f->lastcall = a;                                                                       \
  |  |  168|   160k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   160k|            f->calls++;                                                                            \
  |  |  170|   160k|            b += 4 - 1;                                                                            \
  |  |  171|   160k|        }                                                                                          \
  |  |  172|  2.56M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 2.56M, False: 30]
  |  |  ------------------
  |  |  173|     30|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 24, False: 6]
  |  |  ------------------
  |  |  174|     30|        f->lastcall += 4;                                                                          \
  |  |  175|     30|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_ct32_e9P6Filter:
  189|    725|static int u_ct32_e9(Filter *f) { CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32) }
  ------------------
  |  |  161|    725|    byte *b = f->buf;                                                                              \
  |  |  162|    725|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  1.65M|    do {                                                                                           \
  |  |  164|  1.65M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 104k, False: 1.54M]
  |  |  ------------------
  |  |  165|   104k|            b += 1;                                                                                \
  |  |  166|   104k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   104k|            f->lastcall = a;                                                                       \
  |  |  168|   104k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   104k|            f->calls++;                                                                            \
  |  |  170|   104k|            b += 4 - 1;                                                                            \
  |  |  171|   104k|        }                                                                                          \
  |  |  172|  1.65M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 1.65M, False: 725]
  |  |  ------------------
  |  |  173|    725|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 8, False: 717]
  |  |  ------------------
  |  |  174|    725|        f->lastcall += 4;                                                                          \
  |  |  175|    725|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_ct32_e8e9P6Filter:
  191|    345|static int u_ct32_e8e9(Filter *f) {
  192|    345|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_le32)
  ------------------
  |  |  161|    345|    byte *b = f->buf;                                                                              \
  |  |  162|    345|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  4.49M|    do {                                                                                           \
  |  |  164|  13.3M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 148k, False: 4.34M]
  |  |  |  Branch (164:13): [True: 185k, False: 4.16M]
  |  |  ------------------
  |  |  165|   334k|            b += 1;                                                                                \
  |  |  166|   334k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   334k|            f->lastcall = a;                                                                       \
  |  |  168|   334k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   334k|            f->calls++;                                                                            \
  |  |  170|   334k|            b += 4 - 1;                                                                            \
  |  |  171|   334k|        }                                                                                          \
  |  |  172|  4.49M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 4.49M, False: 345]
  |  |  ------------------
  |  |  173|    345|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 23, False: 322]
  |  |  ------------------
  |  |  174|    345|        f->lastcall += 4;                                                                          \
  |  |  175|    345|    return 0;
  ------------------
  193|    345|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_leP6Filter:
  218|    740|static int u_ct32_e8_bswap_le(Filter *f) {
  219|    740|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    740|    byte *b = f->buf;                                                                              \
  |  |  162|    740|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  2.19M|    do {                                                                                           \
  |  |  164|  2.19M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 64.8k, False: 2.13M]
  |  |  ------------------
  |  |  165|  64.8k|            b += 1;                                                                                \
  |  |  166|  64.8k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|  64.8k|            f->lastcall = a;                                                                       \
  |  |  168|  64.8k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|  64.8k|            f->calls++;                                                                            \
  |  |  170|  64.8k|            b += 4 - 1;                                                                            \
  |  |  171|  64.8k|        }                                                                                          \
  |  |  172|  2.19M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 2.19M, False: 740]
  |  |  ------------------
  |  |  173|    740|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 479, False: 261]
  |  |  ------------------
  |  |  174|    740|        f->lastcall += 4;                                                                          \
  |  |  175|    740|    return 0;
  ------------------
  220|    740|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_leP6Filter:
  222|    183|static int u_ct32_e9_bswap_le(Filter *f) {
  223|    183|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|    183|    byte *b = f->buf;                                                                              \
  |  |  162|    183|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.17M|    do {                                                                                           \
  |  |  164|  3.17M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 181k, False: 2.99M]
  |  |  ------------------
  |  |  165|   181k|            b += 1;                                                                                \
  |  |  166|   181k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   181k|            f->lastcall = a;                                                                       \
  |  |  168|   181k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   181k|            f->calls++;                                                                            \
  |  |  170|   181k|            b += 4 - 1;                                                                            \
  |  |  171|   181k|        }                                                                                          \
  |  |  172|  3.17M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.17M, False: 183]
  |  |  ------------------
  |  |  173|    183|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 14, False: 169]
  |  |  ------------------
  |  |  174|    183|        f->lastcall += 4;                                                                          \
  |  |  175|    183|    return 0;
  ------------------
  224|    183|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_leP6Filter:
  226|     79|static int u_ct32_e8e9_bswap_le(Filter *f) {
  227|     79|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |  161|     79|    byte *b = f->buf;                                                                              \
  |  |  162|     79|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.59M|    do {                                                                                           \
  |  |  164|  10.7M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 72.6k, False: 3.52M]
  |  |  |  Branch (164:13): [True: 154k, False: 3.36M]
  |  |  ------------------
  |  |  165|   226k|            b += 1;                                                                                \
  |  |  166|   226k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   226k|            f->lastcall = a;                                                                       \
  |  |  168|   226k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   226k|            f->calls++;                                                                            \
  |  |  170|   226k|            b += 4 - 1;                                                                            \
  |  |  171|   226k|        }                                                                                          \
  |  |  172|  3.59M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.59M, False: 79]
  |  |  ------------------
  |  |  173|     79|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 31, False: 48]
  |  |  ------------------
  |  |  174|     79|        f->lastcall += 4;                                                                          \
  |  |  175|     79|    return 0;
  ------------------
  228|     79|}
filter_impl.cpp:_ZL18u_ct32_e8_bswap_beP6Filter:
  257|    101|static int u_ct32_e8_bswap_be(Filter *f) {
  258|    101|    CT32(f, (*b == 0xe8), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    101|    byte *b = f->buf;                                                                              \
  |  |  162|    101|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.37M|    do {                                                                                           \
  |  |  164|  3.37M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 204k, False: 3.16M]
  |  |  ------------------
  |  |  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.37M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.37M, False: 101]
  |  |  ------------------
  |  |  173|    101|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 82, False: 19]
  |  |  ------------------
  |  |  174|    101|        f->lastcall += 4;                                                                          \
  |  |  175|    101|    return 0;
  ------------------
  259|    101|}
filter_impl.cpp:_ZL18u_ct32_e9_bswap_beP6Filter:
  261|     27|static int u_ct32_e9_bswap_be(Filter *f) {
  262|     27|    CT32(f, (*b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|     27|    byte *b = f->buf;                                                                              \
  |  |  162|     27|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  3.44M|    do {                                                                                           \
  |  |  164|  3.44M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 180k, False: 3.26M]
  |  |  ------------------
  |  |  165|   180k|            b += 1;                                                                                \
  |  |  166|   180k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|   180k|            f->lastcall = a;                                                                       \
  |  |  168|   180k|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|   180k|            f->calls++;                                                                            \
  |  |  170|   180k|            b += 4 - 1;                                                                            \
  |  |  171|   180k|        }                                                                                          \
  |  |  172|  3.44M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 3.44M, False: 27]
  |  |  ------------------
  |  |  173|     27|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 13, False: 14]
  |  |  ------------------
  |  |  174|     27|        f->lastcall += 4;                                                                          \
  |  |  175|     27|    return 0;
  ------------------
  263|     27|}
filter_impl.cpp:_ZL20u_ct32_e8e9_bswap_beP6Filter:
  265|    653|static int u_ct32_e8e9_bswap_be(Filter *f) {
  266|    653|    CT32(f, (*b == 0xe8 || *b == 0xe9), 0 - a - f->addvalue, get_le32, set_be32)
  ------------------
  |  |  161|    653|    byte *b = f->buf;                                                                              \
  |  |  162|    653|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |  163|  88.0M|    do {                                                                                           \
  |  |  164|   263M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (164:13): [True: 160k, False: 87.8M]
  |  |  |  Branch (164:13): [True: 16.8M, False: 71.0M]
  |  |  ------------------
  |  |  165|  17.0M|            b += 1;                                                                                \
  |  |  166|  17.0M|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  167|  17.0M|            f->lastcall = a;                                                                       \
  |  |  168|  17.0M|            set(b, get(b) + (addvalue));                                                           \
  |  |  169|  17.0M|            f->calls++;                                                                            \
  |  |  170|  17.0M|            b += 4 - 1;                                                                            \
  |  |  171|  17.0M|        }                                                                                          \
  |  |  172|  88.0M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (172:14): [True: 88.0M, False: 653]
  |  |  ------------------
  |  |  173|    653|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (173:9): [True: 648, False: 5]
  |  |  ------------------
  |  |  174|    653|        f->lastcall += 4;                                                                          \
  |  |  175|    653|    return 0;
  ------------------
  267|    653|}
filter_impl.cpp:_ZL12u_ct24arm_leP6Filter:
  310|    190|static int u_ct24arm_le(Filter *f) {
  311|    190|    CT24ARM_LE(f, ARMCT_COND_le, 0 - a / 4 - f->addvalue, get_le24, set_le24)
  ------------------
  |  |  289|    190|    byte *b = f->buf;                                                                              \
  |  |  290|    190|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  291|  1.26M|    do {                                                                                           \
  |  |  292|  1.26M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (292:13): [True: 112k, False: 1.15M]
  |  |  ------------------
  |  |  293|   112k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  294|   112k|            f->lastcall = a;                                                                       \
  |  |  295|   112k|            set(b, get(b) + (addvalue));                                                           \
  |  |  296|   112k|            f->calls++;                                                                            \
  |  |  297|   112k|        }                                                                                          \
  |  |  298|  1.26M|        b += 4;                                                                                    \
  |  |  299|  1.26M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (299:14): [True: 1.26M, False: 190]
  |  |  ------------------
  |  |  300|    190|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (300:9): [True: 13, False: 177]
  |  |  ------------------
  |  |  301|    190|        f->lastcall += 4;                                                                          \
  |  |  302|    190|    return 0;
  ------------------
  312|    190|}
filter_impl.cpp:_ZL12u_ct24arm_beP6Filter:
  342|     36|static int u_ct24arm_be(Filter *f) {
  343|     36|    CT24ARM_BE(f, ARMCT_COND_be, 0 - a / 4 - f->addvalue, get_be24, set_be24)
  ------------------
  |  |  321|     36|    byte *b = f->buf;                                                                              \
  |  |  322|     36|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  323|  2.15M|    do {                                                                                           \
  |  |  324|  2.15M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (324:13): [True: 132k, False: 2.02M]
  |  |  ------------------
  |  |  325|   132k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  326|   132k|            f->lastcall = a;                                                                       \
  |  |  327|   132k|            set(1 + b, get(1 + b) + (addvalue));                                                   \
  |  |  328|   132k|            f->calls++;                                                                            \
  |  |  329|   132k|        }                                                                                          \
  |  |  330|  2.15M|        b += 4;                                                                                    \
  |  |  331|  2.15M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (331:14): [True: 2.15M, False: 36]
  |  |  ------------------
  |  |  332|     36|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (332:9): [True: 12, False: 24]
  |  |  ------------------
  |  |  333|     36|        f->lastcall += 4;                                                                          \
  |  |  334|     36|    return 0;
  ------------------
  344|     36|}
filter_impl.cpp:_ZL12u_ct26arm_leP6Filter:
  381|  3.02k|static int u_ct26arm_le(Filter *f) {
  382|  3.02k|    CT26ARM_LE(f, ARMCT_COND, 0 - a / 4 - f->addvalue, get_le26, set_le26)
  ------------------
  |  |  360|  3.02k|    byte *b = f->buf;                                                                              \
  |  |  361|  3.02k|    byte *b_end = b + f->buf_len - 4;                                                              \
  |  |  362|  5.59M|    do {                                                                                           \
  |  |  363|  5.59M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (363:13): [True: 389k, False: 5.20M]
  |  |  ------------------
  |  |  364|   389k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  365|   389k|            f->lastcall = a;                                                                       \
  |  |  366|   389k|            set(b, get(b) + (addvalue));                                                           \
  |  |  367|   389k|            f->calls++;                                                                            \
  |  |  368|   389k|        }                                                                                          \
  |  |  369|  5.59M|        b += 4;                                                                                    \
  |  |  370|  5.59M|    } while (b < b_end);                                                                           \
  |  |  ------------------
  |  |  |  Branch (370:14): [True: 5.59M, False: 3.02k]
  |  |  ------------------
  |  |  371|  3.02k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (371:9): [True: 2.98k, False: 37]
  |  |  ------------------
  |  |  372|  3.02k|        f->lastcall += 4;                                                                          \
  |  |  373|  3.02k|    return 0;
  ------------------
  383|  3.02k|}

filter_impl.cpp:_ZL19u_cto32_e8_bswap_leP6Filter:
  129|     62|static int U(Filter *f) {
  130|     62|    byte *b = f->buf;
  131|     62|    const unsigned size5 = f->buf_len - 5;
  132|     62|    const unsigned addvalue = f->addvalue;
  133|     62|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|     62|    unsigned ic, jc;
  136|       |
  137|  9.41M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 9.41M, False: 62]
  ------------------
  138|  9.41M|        if (COND(b, ic)) {
  ------------------
  |  |   57|  9.41M|#define COND(b, x) (b[x] == 0xe8)
  |  |  ------------------
  |  |  |  Branch (57:20): [True: 554k, False: 8.85M]
  |  |  ------------------
  ------------------
  139|   554k|            jc = get_be32(b + ic + 1);
  140|   554k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 225k, False: 328k]
  ------------------
  141|   225k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   225k|                f->calls++;
  143|   225k|                ic += 4;
  144|   225k|                f->lastcall = ic + 1;
  145|   225k|            } else
  146|   328k|                f->noncalls++;
  147|   554k|        }
  148|     62|    return 0;
  149|     62|}
filter_impl.cpp:_ZL19u_cto32_e9_bswap_leP6Filter:
  129|    806|static int U(Filter *f) {
  130|    806|    byte *b = f->buf;
  131|    806|    const unsigned size5 = f->buf_len - 5;
  132|    806|    const unsigned addvalue = f->addvalue;
  133|    806|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|    806|    unsigned ic, jc;
  136|       |
  137|  4.66M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 4.66M, False: 806]
  ------------------
  138|  4.66M|        if (COND(b, ic)) {
  ------------------
  |  |   65|  4.66M|#define COND(b, x) (b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (65:20): [True: 574k, False: 4.09M]
  |  |  ------------------
  ------------------
  139|   574k|            jc = get_be32(b + ic + 1);
  140|   574k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 101k, False: 473k]
  ------------------
  141|   101k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   101k|                f->calls++;
  143|   101k|                ic += 4;
  144|   101k|                f->lastcall = ic + 1;
  145|   101k|            } else
  146|   473k|                f->noncalls++;
  147|   574k|        }
  148|    806|    return 0;
  149|    806|}
filter_impl.cpp:_ZL21u_cto32_e8e9_bswap_leP6Filter:
  129|     84|static int U(Filter *f) {
  130|     84|    byte *b = f->buf;
  131|     84|    const unsigned size5 = f->buf_len - 5;
  132|     84|    const unsigned addvalue = f->addvalue;
  133|     84|    const unsigned cto = (unsigned) f->cto << 24;
  134|       |
  135|     84|    unsigned ic, jc;
  136|       |
  137|  32.5M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (137:18): [True: 32.5M, False: 84]
  ------------------
  138|  32.5M|        if (COND(b, ic)) {
  ------------------
  |  |   73|  32.5M|#define COND(b, x) (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  ------------------
  |  |  |  Branch (73:21): [True: 640k, False: 31.9M]
  |  |  |  Branch (73:37): [True: 311k, False: 31.6M]
  |  |  ------------------
  ------------------
  139|   952k|            jc = get_be32(b + ic + 1);
  140|   952k|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (140:17): [True: 665k, False: 286k]
  ------------------
  141|   665k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  142|   665k|                f->calls++;
  143|   665k|                ic += 4;
  144|   665k|                f->lastcall = ic + 1;
  145|   665k|            } else
  146|   286k|                f->noncalls++;
  147|   952k|        }
  148|     84|    return 0;
  149|     84|}

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

filter_impl.cpp:_ZL8f80_callPK6Filter:
   45|     98|static unsigned f80_call(Filter const *f) { return (1 + (0x0f & f->id)) % 3; }
filter_impl.cpp:_ZL8f80_jmp1PK6Filter:
   47|    196|static unsigned f80_jmp1(Filter const *f) { return ((1 + (0x0f & f->id)) / 3) % 3; }
filter_impl.cpp:_ZL8f80_jcc2PK6Filter:
   49|     98|static unsigned f80_jcc2(Filter const *f) { return f80_jmp1(f); }
filter_impl.cpp:_ZL10update_mrujiPjRiS0_:
   59|   269k|) {
   60|   269k|    if (0 > --hand) {
  ------------------
  |  Branch (60:9): [True: 11.0k, False: 258k]
  ------------------
   61|  11.0k|        hand = N_MRU - 1;
  ------------------
  |  |   51|  11.0k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   62|  11.0k|    }
   63|   269k|    const unsigned t = mru[hand]; // entry which will be overwritten by jc
   64|   269k|    if (0 != t) {                 // have seen at least N_MRU destinations
  ------------------
  |  Branch (64:9): [True: 137k, False: 131k]
  ------------------
   65|   137k|        mru[kh] = t;
   66|   137k|    } else { // "cold cache": keep active region contiguous
   67|   131k|        if (0 > --tail) {
  ------------------
  |  Branch (67:13): [True: 4.12k, False: 127k]
  ------------------
   68|  4.12k|            tail = N_MRU - 1;
  ------------------
  |  |   51|  4.12k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
   69|  4.12k|        }
   70|   131k|        const unsigned t2 = mru[tail];
   71|   131k|        mru[tail] = 0;
   72|   131k|        mru[kh] = t2;
   73|   131k|    }
   74|   269k|    mru[hand] = jc;
   75|   269k|}
filter_impl.cpp:_ZL23u_ctojr32_e8e9_bswap_leP6Filter:
  234|     98|static int U(Filter *f) {
  235|     98|    unsigned ic, jc;
  236|       |
  237|     98|    byte *const b = f->buf;
  238|     98|    const unsigned size5 = f->buf_len - 5;
  239|     98|    const unsigned cto = (unsigned) f->cto << 24;
  240|     98|    unsigned lastcall = 0;
  241|     98|    int hand = 0, tail = 0;
  242|     98|    const unsigned f_call = f80_call(f);
  243|     98|    const unsigned f_jmp1 = f80_jmp1(f);
  244|     98|    const unsigned f_jcc2 = f80_jcc2(f);
  245|       |
  246|     98|    unsigned mru[N_MRU];
  247|     98|    memset(&mru[0], 0, sizeof(mru));
  248|       |
  249|  18.6M|    for (ic = 0; ic < size5; ic++) {
  ------------------
  |  Branch (249:18): [True: 18.6M, False: 91]
  ------------------
  250|  18.6M|        int which;
  251|  18.6M|        if (CONDU(which, b, ic, lastcall)) {
  ------------------
  |  |  121|  18.6M|#define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  117|  37.3M|#define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  113|  37.3M|#define COND_CALL(which, b, x) ((which = 0), b[x] == 0xe8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (113:32): [True: 716k, False: 17.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |               #define COND1(which, b, x)                 (COND_CALL(which, b, x) || COND_JMP(which, b, x))
  |  |  |  |  ------------------
  |  |  |  |  |  |  114|  17.9M|#define COND_JMP(which, b, x)  ((which = 1), b[x] == 0xe9)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (114:32): [True: 1.02M, False: 16.9M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define CONDU(which, b, x, lastcall) (COND1(which, b, x) || COND2(which, b, lastcall, x, x, (x) -1))
  |  |  ------------------
  |  |  |  |  118|  16.9M|#define COND2(which, b, lastcall, x, y, z) COND_JCC(which, b, lastcall, x, y, z)
  |  |  |  |  ------------------
  |  |  |  |  |  |  116|  16.9M|    ((which = 2), (lastcall != (x) && 0xf == b[y] && 0x80 <= b[z] && b[z] <= 0x8f))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (116:5): [True: 240k, False: 16.6M]
  |  |  |  |  |  |  |  Branch (116:20): [True: 15.9M, False: 940k]
  |  |  |  |  |  |  |  Branch (116:39): [True: 542k, False: 15.4M]
  |  |  |  |  |  |  |  Branch (116:54): [True: 317k, False: 225k]
  |  |  |  |  |  |  |  Branch (116:70): [True: 240k, False: 76.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  252|  1.97M|            unsigned f_on = 0;
  253|  1.97M|            jc = get_be32(b + ic + 1) - cto;
  254|  1.97M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (254:17): [True: 1.22M, False: 752k]
  ------------------
  255|  1.22M|                if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   482k|#define MRUFLT 2 // mru filter
  ------------------
                              if ((0 == which && MRUFLT == f_call) || (1 == which && MRUFLT == f_jmp1) ||
  ------------------
  |  |   43|   513k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (255:22): [True: 482k, False: 742k]
  |  Branch (255:36): [True: 303k, False: 179k]
  |  Branch (255:58): [True: 513k, False: 407k]
  |  Branch (255:72): [True: 309k, False: 203k]
  ------------------
  256|   699k|                    (2 == which && MRUFLT == f_jcc2)) {
  ------------------
  |  |   43|   228k|#define MRUFLT 2 // mru filter
  ------------------
  |  Branch (256:22): [True: 228k, False: 383k]
  |  Branch (256:36): [True: 85.7k, False: 142k]
  ------------------
  257|   699k|                    f_on = 1;
  258|   699k|                    if (1 & jc) { // 1st time at this destination
  ------------------
  |  Branch (258:25): [True: 429k, False: 269k]
  ------------------
  259|   429k|                        jc >>= 1;
  260|   429k|                        if (0 > --hand) {
  ------------------
  |  Branch (260:29): [True: 10.7k, False: 419k]
  ------------------
  261|  10.7k|                            hand = N_MRU - 1;
  ------------------
  |  |   51|  10.7k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  262|  10.7k|                        }
  263|   429k|                        mru[hand] = jc;
  264|   429k|                    } else { // not 1st time at this destination
  265|   269k|                        jc >>= 1;
  266|   269k|                        if (N_MRU <= jc) {
  ------------------
  |  |   51|   269k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (266:29): [True: 7, False: 269k]
  ------------------
  267|      7|                            throwCompressedDataViolation();
  268|      7|                        }
  269|   269k|                        int kh = jc + hand;
  270|   269k|                        if (N_MRU <= kh) {
  ------------------
  |  |   51|   269k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  |  Branch (270:29): [True: 115k, False: 153k]
  ------------------
  271|   115k|                            kh -= N_MRU;
  ------------------
  |  |   51|   115k|#define N_MRU 32 // does not have to be a power of 2
  ------------------
  272|   115k|                        }
  273|   269k|                        jc = mru[kh];
  274|   269k|                        update_mru(jc, kh, mru, hand, tail);
  275|   269k|                    }
  276|   699k|                    set_le32(b + ic + 1, jc - ic - 1);
  277|   699k|                } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   179k|#define NOFILT 0 // no filter
  ------------------
                              } else if ((0 == which && NOFILT != f_call) || (1 == which && NOFILT != f_jmp1) ||
  ------------------
  |  |   41|   203k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (277:29): [True: 179k, False: 346k]
  |  Branch (277:43): [True: 107k, False: 71.4k]
  |  Branch (277:65): [True: 203k, False: 213k]
  |  Branch (277:79): [True: 102k, False: 101k]
  ------------------
  278|   315k|                           (2 == which && NOFILT != f_jcc2)) {
  ------------------
  |  |   41|   142k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (278:29): [True: 142k, False: 173k]
  |  Branch (278:43): [True: 31.6k, False: 110k]
  ------------------
  279|   241k|                    f_on = 1;
  280|   241k|                    set_le32(b + ic + 1, jc - ic - 1);
  281|   241k|                }
  282|  1.22M|                if (2 == which && NOFILT != f_jcc2) {
  ------------------
  |  |   41|   228k|#define NOFILT 0 // no filter
  ------------------
  |  Branch (282:21): [True: 228k, False: 996k]
  |  Branch (282:35): [True: 117k, False: 110k]
  ------------------
  283|       |                    // Unswap prefix and opcode for 6-byte Jcc <disp32>
  284|   117k|                    unsigned char const t = b[ic - 1];
  285|   117k|                    b[ic - 1] = b[ic];
  286|   117k|                    b[ic] = t;
  287|   117k|                }
  288|       |
  289|  1.22M|                if (f_on) {
  ------------------
  |  Branch (289:21): [True: 940k, False: 284k]
  ------------------
  290|   940k|                    f->calls++;
  291|   940k|                    ic += 4;
  292|   940k|                    f->lastcall = lastcall = ic + 1;
  293|   940k|                }
  294|  1.22M|            } else
  295|   752k|                f->noncalls++;
  296|  1.97M|        }
  297|  18.6M|    }
  298|     91|    return 0;
  299|     98|}

filter_impl.cpp:_ZL22u_ctok32_e8e9_bswap_leP6Filter:
  129|     69|static int U(Filter *f) {
  130|     69|    byte *b = f->buf;
  131|     69|    const unsigned size5 = f->buf_len - 5;
  132|     69|    const unsigned addvalue = f->addvalue;
  133|     69|    const unsigned cto = (unsigned) f->cto << 24;
  134|     69|    const unsigned id = f->id;
  135|     69|    unsigned lastcall = 0;
  136|       |
  137|     69|    unsigned ic, jc;
  138|       |
  139|  39.5M|    for (ic = 0; ic < size5; ic++)
  ------------------
  |  Branch (139:18): [True: 39.5M, False: 69]
  ------------------
  140|  39.5M|        if (COND(b, ic, lastcall, id)) {
  ------------------
  |  |   99|  39.5M|#define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   97|  79.0M|#define COND1(b, x)        (b[x] == 0xe8 || b[x] == 0xe9)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (97:29): [True: 895k, False: 38.6M]
  |  |  |  |  |  Branch (97:45): [True: 371k, False: 38.2M]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |               #define COND(b, x, lc, id) (COND1(b, x) || ((9 <= (0xf & (id))) && COND2(b, x, lc)))
  |  |  ------------------
  |  |  |  |   98|  38.2M|#define COND2(b, x, lc)    (lc != (x) && 0xf == b[(x) -1] && 0x80 <= b[x] && b[x] <= 0x8f)
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (98:29): [True: 37.6M, False: 570k]
  |  |  |  |  |  Branch (98:42): [True: 522k, False: 37.1M]
  |  |  |  |  |  Branch (98:62): [True: 332k, False: 190k]
  |  |  |  |  |  Branch (98:78): [True: 192k, False: 140k]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (99:45): [True: 38.2M, False: 0]
  |  |  ------------------
  ------------------
  141|  1.45M|            jc = get_be32(b + ic + 1);
  142|  1.45M|            if (b[ic + 1] == f->cto) {
  ------------------
  |  Branch (142:17): [True: 590k, False: 868k]
  ------------------
  143|   590k|                set_le32(b + ic + 1, jc - ic - 1 - addvalue - cto);
  144|   590k|                f->calls++;
  145|   590k|                ic += 4;
  146|   590k|                f->lastcall = lastcall = ic + 1;
  147|   590k|            } else
  148|   868k|                f->noncalls++;
  149|  1.45M|        }
  150|     69|    return 0;
  151|     69|}

filter_impl.cpp:_ZL14u_ctsw16_e8_e9P6Filter:
   66|     98|static int u_ctsw16_e8_e9(Filter *f) {
   67|     98|    CTSW16(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|     98|    byte *b = f->buf;                                                                              \
  |  |   34|     98|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.76M|    do {                                                                                           \
  |  |   36|  3.76M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 141k, False: 3.62M]
  |  |  ------------------
  |  |   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|  3.62M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 228k, False: 3.39M]
  |  |  ------------------
  |  |   44|   228k|            b += 1;                                                                                \
  |  |   45|   228k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   228k|            f->lastcall = a;                                                                       \
  |  |   47|   228k|            set(b, get(b));                                                                        \
  |  |   48|   228k|            f->calls++;                                                                            \
  |  |   49|   228k|            b += 2 - 1;                                                                            \
  |  |   50|   228k|        }                                                                                          \
  |  |   51|  3.76M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 3.76M, False: 98]
  |  |  ------------------
  |  |   52|     98|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 27, False: 71]
  |  |  ------------------
  |  |   53|     98|        f->lastcall += 2;                                                                          \
  |  |   54|     98|    return 0;
  ------------------
   68|     98|}
filter_impl.cpp:_ZL14u_ctsw16_e9_e8P6Filter:
   70|     41|static int u_ctsw16_e9_e8(Filter *f) {
   71|     41|    CTSW16(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be16, set_le16)
  ------------------
  |  |   33|     41|    byte *b = f->buf;                                                                              \
  |  |   34|     41|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.96M|    do {                                                                                           \
  |  |   36|  3.96M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 391k, False: 3.57M]
  |  |  ------------------
  |  |   37|   391k|            b += 1;                                                                                \
  |  |   38|   391k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   391k|            f->lastcall = a;                                                                       \
  |  |   40|   391k|            set(b, get(b) + (addvalue));                                                           \
  |  |   41|   391k|            f->calls++;                                                                            \
  |  |   42|   391k|            b += 2 - 1;                                                                            \
  |  |   43|  3.57M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (43:20): [True: 191k, False: 3.38M]
  |  |  ------------------
  |  |   44|   191k|            b += 1;                                                                                \
  |  |   45|   191k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   46|   191k|            f->lastcall = a;                                                                       \
  |  |   47|   191k|            set(b, get(b));                                                                        \
  |  |   48|   191k|            f->calls++;                                                                            \
  |  |   49|   191k|            b += 2 - 1;                                                                            \
  |  |   50|   191k|        }                                                                                          \
  |  |   51|  3.96M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (51:14): [True: 3.96M, False: 41]
  |  |  ------------------
  |  |   52|     41|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (52:9): [True: 33, False: 8]
  |  |  ------------------
  |  |   53|     41|        f->lastcall += 2;                                                                          \
  |  |   54|     41|    return 0;
  ------------------
   72|     41|}
filter_impl.cpp:_ZL14u_ctsw32_e8_e9P6Filter:
  123|     28|static int u_ctsw32_e8_e9(Filter *f) {
  124|     28|    CTSW32(f, (*b == 0xe8), (*b == 0xe9), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|     28|    byte *b = f->buf;                                                                              \
  |  |   91|     28|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  3.84M|    do {                                                                                           \
  |  |   93|  3.84M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 106k, False: 3.74M]
  |  |  ------------------
  |  |   94|   106k|            b += 1;                                                                                \
  |  |   95|   106k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|   106k|            f->lastcall = a;                                                                       \
  |  |   97|   106k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|   106k|            f->calls++;                                                                            \
  |  |   99|   106k|            b += 4 - 1;                                                                            \
  |  |  100|  3.74M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 133k, False: 3.60M]
  |  |  ------------------
  |  |  101|   133k|            b += 1;                                                                                \
  |  |  102|   133k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|   133k|            f->lastcall = a;                                                                       \
  |  |  104|   133k|            set(b, get(b));                                                                        \
  |  |  105|   133k|            f->calls++;                                                                            \
  |  |  106|   133k|            b += 4 - 1;                                                                            \
  |  |  107|   133k|        }                                                                                          \
  |  |  108|  3.84M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 3.84M, False: 28]
  |  |  ------------------
  |  |  109|     28|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 27, False: 1]
  |  |  ------------------
  |  |  110|     28|        f->lastcall += 4;                                                                          \
  |  |  111|     28|    return 0;
  ------------------
  125|     28|}
filter_impl.cpp:_ZL14u_ctsw32_e9_e8P6Filter:
  127|    186|static int u_ctsw32_e9_e8(Filter *f) {
  128|    186|    CTSW32(f, (*b == 0xe9), (*b == 0xe8), 0 - a - f->addvalue, get_be32, set_le32)
  ------------------
  |  |   90|    186|    byte *b = f->buf;                                                                              \
  |  |   91|    186|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   92|  3.14M|    do {                                                                                           \
  |  |   93|  3.14M|        if (cond1) {                                                                               \
  |  |  ------------------
  |  |  |  Branch (93:13): [True: 145k, False: 3.00M]
  |  |  ------------------
  |  |   94|   145k|            b += 1;                                                                                \
  |  |   95|   145k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   96|   145k|            f->lastcall = a;                                                                       \
  |  |   97|   145k|            set(b, get(b) + (addvalue));                                                           \
  |  |   98|   145k|            f->calls++;                                                                            \
  |  |   99|   145k|            b += 4 - 1;                                                                            \
  |  |  100|  3.00M|        } else if (cond2) {                                                                        \
  |  |  ------------------
  |  |  |  Branch (100:20): [True: 118k, False: 2.88M]
  |  |  ------------------
  |  |  101|   118k|            b += 1;                                                                                \
  |  |  102|   118k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |  103|   118k|            f->lastcall = a;                                                                       \
  |  |  104|   118k|            set(b, get(b));                                                                        \
  |  |  105|   118k|            f->calls++;                                                                            \
  |  |  106|   118k|            b += 4 - 1;                                                                            \
  |  |  107|   118k|        }                                                                                          \
  |  |  108|  3.14M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (108:14): [True: 3.14M, False: 186]
  |  |  ------------------
  |  |  109|    186|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (109:9): [True: 20, False: 166]
  |  |  ------------------
  |  |  110|    186|        f->lastcall += 4;                                                                          \
  |  |  111|    186|    return 0;
  ------------------
  129|    186|}

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

filter_impl.cpp:_ZL9u_sub16_1P6Filter:
   52|    130|static int u_sub16_1(Filter *f) { ADD16(f, 1) }
  ------------------
  |  |   35|    130|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    130|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    130|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    130|    int i;                                                                                         \
  |  |  |  |   60|    130|    T d[N];                                                                                        \
  |  |  |  |   61|    130|                                                                                                   \
  |  |  |  |   62|    130|    i = N - 1;                                                                                     \
  |  |  |  |   63|    130|    do                                                                                             \
  |  |  |  |   64|    130|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    130|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 130]
  |  |  |  |  ------------------
  |  |  |  |   66|    130|                                                                                                   \
  |  |  |  |   67|    130|    i = N - 1;                                                                                     \
  |  |  |  |   68|   173k|    do {                                                                                           \
  |  |  |  |   69|   173k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   173k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   173k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   173k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 173k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   173k|            i = N - 1;                                                                             \
  |  |  |  |   74|   173k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 173k, False: 130]
  |  |  |  |  ------------------
  |  |  |  |   75|    130|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    130|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    130|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    260|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 130, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    130|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_2P6Filter:
   54|     14|static int u_sub16_2(Filter *f) { ADD16(f, 2) }
  ------------------
  |  |   35|     14|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|     14|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     14|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     14|    int i;                                                                                         \
  |  |  |  |   60|     14|    T d[N];                                                                                        \
  |  |  |  |   61|     14|                                                                                                   \
  |  |  |  |   62|     14|    i = N - 1;                                                                                     \
  |  |  |  |   63|     14|    do                                                                                             \
  |  |  |  |   64|     28|        d[i] = 0;                                                                                  \
  |  |  |  |   65|     28|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 14, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   66|     14|                                                                                                   \
  |  |  |  |   67|     14|    i = N - 1;                                                                                     \
  |  |  |  |   68|   162k|    do {                                                                                           \
  |  |  |  |   69|   162k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   162k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   162k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   162k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 81.1k, False: 81.1k]
  |  |  |  |  ------------------
  |  |  |  |   73|   162k|            i = N - 1;                                                                             \
  |  |  |  |   74|   162k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 162k, False: 14]
  |  |  |  |  ------------------
  |  |  |  |   75|     14|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     14|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     14|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|     28|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 14, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     14|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_3P6Filter:
   56|  1.49k|static int u_sub16_3(Filter *f) { ADD16(f, 3) }
  ------------------
  |  |   35|  1.49k|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|  1.49k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.49k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.49k|    int i;                                                                                         \
  |  |  |  |   60|  1.49k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.49k|                                                                                                   \
  |  |  |  |   62|  1.49k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.49k|    do                                                                                             \
  |  |  |  |   64|  4.47k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  4.47k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 2.98k, False: 1.49k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.49k|                                                                                                   \
  |  |  |  |   67|  1.49k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   316k|    do {                                                                                           \
  |  |  |  |   69|   316k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   316k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   316k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   316k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 105k, False: 211k]
  |  |  |  |  ------------------
  |  |  |  |   73|   316k|            i = N - 1;                                                                             \
  |  |  |  |   74|   316k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 315k, False: 1.49k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.49k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.49k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|  1.49k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  2.98k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.49k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.49k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub16_4P6Filter:
   58|    139|static int u_sub16_4(Filter *f) { ADD16(f, 4) }
  ------------------
  |  |   35|    139|#define ADD16(f, N)  ADD(f, N, unsigned short, get_le16, set_le16)
  |  |  ------------------
  |  |  |  |   57|    139|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    139|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    139|    int i;                                                                                         \
  |  |  |  |   60|    139|    T d[N];                                                                                        \
  |  |  |  |   61|    139|                                                                                                   \
  |  |  |  |   62|    139|    i = N - 1;                                                                                     \
  |  |  |  |   63|    139|    do                                                                                             \
  |  |  |  |   64|    556|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    556|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 417, False: 139]
  |  |  |  |  ------------------
  |  |  |  |   66|    139|                                                                                                   \
  |  |  |  |   67|    139|    i = N - 1;                                                                                     \
  |  |  |  |   68|   176k|    do {                                                                                           \
  |  |  |  |   69|   176k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   176k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   176k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   176k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 44.0k, False: 132k]
  |  |  |  |  ------------------
  |  |  |  |   73|   176k|            i = N - 1;                                                                             \
  |  |  |  |   74|   176k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 176k, False: 139]
  |  |  |  |  ------------------
  |  |  |  |   75|    139|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    139|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    139|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    278|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 139, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    139|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sub32_1P6Filter:
   52|     48|static int u_sub32_1(Filter *f) { ADD32(f, 1) }
  ------------------
  |  |   35|     48|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|     48|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     48|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     48|    int i;                                                                                         \
  |  |  |  |   60|     48|    T d[N];                                                                                        \
  |  |  |  |   61|     48|                                                                                                   \
  |  |  |  |   62|     48|    i = N - 1;                                                                                     \
  |  |  |  |   63|     48|    do                                                                                             \
  |  |  |  |   64|     48|        d[i] = 0;                                                                                  \
  |  |  |  |   65|     48|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 48]
  |  |  |  |  ------------------
  |  |  |  |   66|     48|                                                                                                   \
  |  |  |  |   67|     48|    i = N - 1;                                                                                     \
  |  |  |  |   68|   163k|    do {                                                                                           \
  |  |  |  |   69|   163k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   163k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   163k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   163k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 163k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   163k|            i = N - 1;                                                                             \
  |  |  |  |   74|   163k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 163k, False: 48]
  |  |  |  |  ------------------
  |  |  |  |   75|     48|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     48|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     48|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|     96|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 48, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     48|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_2P6Filter:
   54|    649|static int u_sub32_2(Filter *f) { ADD32(f, 2) }
  ------------------
  |  |   35|    649|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    649|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    649|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    649|    int i;                                                                                         \
  |  |  |  |   60|    649|    T d[N];                                                                                        \
  |  |  |  |   61|    649|                                                                                                   \
  |  |  |  |   62|    649|    i = N - 1;                                                                                     \
  |  |  |  |   63|    649|    do                                                                                             \
  |  |  |  |   64|  1.29k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.29k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 649, False: 649]
  |  |  |  |  ------------------
  |  |  |  |   66|    649|                                                                                                   \
  |  |  |  |   67|    649|    i = N - 1;                                                                                     \
  |  |  |  |   68|  42.2k|    do {                                                                                           \
  |  |  |  |   69|  42.2k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|  42.2k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|  42.2k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  42.2k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 20.9k, False: 21.3k]
  |  |  |  |  ------------------
  |  |  |  |   73|  42.2k|            i = N - 1;                                                                             \
  |  |  |  |   74|  42.2k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 41.6k, False: 649]
  |  |  |  |  ------------------
  |  |  |  |   75|    649|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    649|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    649|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  1.29k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 649, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    649|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_3P6Filter:
   56|    386|static int u_sub32_3(Filter *f) { ADD32(f, 3) }
  ------------------
  |  |   35|    386|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|    386|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|    386|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|    386|    int i;                                                                                         \
  |  |  |  |   60|    386|    T d[N];                                                                                        \
  |  |  |  |   61|    386|                                                                                                   \
  |  |  |  |   62|    386|    i = N - 1;                                                                                     \
  |  |  |  |   63|    386|    do                                                                                             \
  |  |  |  |   64|  1.15k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.15k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 772, False: 386]
  |  |  |  |  ------------------
  |  |  |  |   66|    386|                                                                                                   \
  |  |  |  |   67|    386|    i = N - 1;                                                                                     \
  |  |  |  |   68|   191k|    do {                                                                                           \
  |  |  |  |   69|   191k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   191k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   191k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   191k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 63.4k, False: 127k]
  |  |  |  |  ------------------
  |  |  |  |   73|   191k|            i = N - 1;                                                                             \
  |  |  |  |   74|   191k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 190k, False: 386]
  |  |  |  |  ------------------
  |  |  |  |   75|    386|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|    386|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|    386|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    772|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 386, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|    386|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL9u_sub32_4P6Filter:
   58|  1.00k|static int u_sub32_4(Filter *f) { ADD32(f, 4) }
  ------------------
  |  |   35|  1.00k|#define ADD32(f, N)  ADD(f, N, unsigned int, get_le32, set_le32)
  |  |  ------------------
  |  |  |  |   57|  1.00k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.00k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.00k|    int i;                                                                                         \
  |  |  |  |   60|  1.00k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.00k|                                                                                                   \
  |  |  |  |   62|  1.00k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.00k|    do                                                                                             \
  |  |  |  |   64|  4.01k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  4.01k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 3.01k, False: 1.00k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.00k|                                                                                                   \
  |  |  |  |   67|  1.00k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   133k|    do {                                                                                           \
  |  |  |  |   69|   133k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |   70|   133k|        set(b, d[i]);                                                                              \
  |  |  |  |   71|   133k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   133k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 33.1k, False: 100k]
  |  |  |  |  ------------------
  |  |  |  |   73|   133k|            i = N - 1;                                                                             \
  |  |  |  |   74|   133k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 132k, False: 1.00k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.00k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.00k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|  1.00k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  2.00k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.00k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.00k|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL8u_sub8_1P6Filter:
   52|  1.11k|static int u_sub8_1(Filter *f) { ADD8(f, 1) }
  ------------------
  |  |   35|  1.11k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|  1.11k|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|  1.11k|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|  1.11k|    int i;                                                                                         \
  |  |  |  |   60|  1.11k|    T d[N];                                                                                        \
  |  |  |  |   61|  1.11k|                                                                                                   \
  |  |  |  |   62|  1.11k|    i = N - 1;                                                                                     \
  |  |  |  |   63|  1.11k|    do                                                                                             \
  |  |  |  |   64|  1.11k|        d[i] = 0;                                                                                  \
  |  |  |  |   65|  1.11k|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 0, False: 1.11k]
  |  |  |  |  ------------------
  |  |  |  |   66|  1.11k|                                                                                                   \
  |  |  |  |   67|  1.11k|    i = N - 1;                                                                                     \
  |  |  |  |   68|   703k|    do {                                                                                           \
  |  |  |  |   69|   703k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   703k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|   703k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|   703k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|   703k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|   703k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|   703k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|   703k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 703k, False: 0]
  |  |  |  |  ------------------
  |  |  |  |   73|   703k|            i = N - 1;                                                                             \
  |  |  |  |   74|   703k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 702k, False: 1.11k]
  |  |  |  |  ------------------
  |  |  |  |   75|  1.11k|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|  1.11k|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|  1.11k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|  2.23k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 1.11k, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|  1.11k|    return 0;
  |  |  ------------------
  ------------------
filter_impl.cpp:_ZL8u_sub8_2P6Filter:
   54|     82|static int u_sub8_2(Filter *f) { ADD8(f, 2) }
  ------------------
  |  |   35|     82|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|     82|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     82|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     82|    int i;                                                                                         \
  |  |  |  |   60|     82|    T d[N];                                                                                        \
  |  |  |  |   61|     82|                                                                                                   \
  |  |  |  |   62|     82|    i = N - 1;                                                                                     \
  |  |  |  |   63|     82|    do                                                                                             \
  |  |  |  |   64|    164|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    164|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 82, False: 82]
  |  |  |  |  ------------------
  |  |  |  |   66|     82|                                                                                                   \
  |  |  |  |   67|     82|    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: 173k, False: 173k]
  |  |  |  |  ------------------
  |  |  |  |   73|   347k|            i = N - 1;                                                                             \
  |  |  |  |   74|   347k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 347k, False: 82]
  |  |  |  |  ------------------
  |  |  |  |   75|     82|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     82|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     82|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    164|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 82, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     82|    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|     78|static int u_sub8_4(Filter *f) { ADD8(f, 4) }
  ------------------
  |  |   35|     78|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  ------------------
  |  |  |  |   57|     78|    byte *b = f->buf;                                                                              \
  |  |  |  |   58|     78|    unsigned l = f->buf_len / sizeof(T);                                                           \
  |  |  |  |   59|     78|    int i;                                                                                         \
  |  |  |  |   60|     78|    T d[N];                                                                                        \
  |  |  |  |   61|     78|                                                                                                   \
  |  |  |  |   62|     78|    i = N - 1;                                                                                     \
  |  |  |  |   63|     78|    do                                                                                             \
  |  |  |  |   64|    312|        d[i] = 0;                                                                                  \
  |  |  |  |   65|    312|    while (--i >= 0);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (65:12): [True: 234, False: 78]
  |  |  |  |  ------------------
  |  |  |  |   66|     78|                                                                                                   \
  |  |  |  |   67|     78|    i = N - 1;                                                                                     \
  |  |  |  |   68|  26.7k|    do {                                                                                           \
  |  |  |  |   69|  26.7k|        d[i] = (T) (d[i] + get(b));                                                                \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|  26.7k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   32|  26.7k|#define get_8(p)        (*(p))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   70|  26.7k|        set(b, d[i]);                                                                              \
  |  |  |  |  ------------------
  |  |  |  |  |  |   35|  26.7k|#define ADD8(f, N)  ADD(f, N, unsigned char, get_8, set_8)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   33|  26.7k|#define set_8(p, v)     (*(p) = (v))
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   71|  26.7k|        b += sizeof(T);                                                                            \
  |  |  |  |   72|  26.7k|        if (--i < 0)                                                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (72:13): [True: 6.67k, False: 20.0k]
  |  |  |  |  ------------------
  |  |  |  |   73|  26.7k|            i = N - 1;                                                                             \
  |  |  |  |   74|  26.7k|    } while (--l > 0);                                                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (74:14): [True: 26.6k, False: 78]
  |  |  |  |  ------------------
  |  |  |  |   75|     78|    f->calls = (f->buf_len / sizeof(T)) - N;                                                       \
  |  |  |  |   76|     78|    assert((int) f->calls > 0);                                                                    \
  |  |  |  |  ------------------
  |  |  |  |  |  |  493|     78|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 1558|    156|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (1558:37): [True: 78, False: 0]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |   77|     78|    return 0;
  |  |  ------------------
  ------------------

filter_impl.cpp:_ZL9u_sw16_e8P6Filter:
   57|    125|static int u_sw16_e8(Filter *f) { SW16(f, (*b == 0xe8), get_be16, set_le16) }
  ------------------
  |  |   33|    125|    byte *b = f->buf;                                                                              \
  |  |   34|    125|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.30M|    do {                                                                                           \
  |  |   36|  3.30M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 290k, False: 3.01M]
  |  |  ------------------
  |  |   37|   290k|            b += 1;                                                                                \
  |  |   38|   290k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   290k|            f->lastcall = a;                                                                       \
  |  |   40|   290k|            set(b, get(b));                                                                        \
  |  |   41|   290k|            f->calls++;                                                                            \
  |  |   42|   290k|            b += 2 - 1;                                                                            \
  |  |   43|   290k|        }                                                                                          \
  |  |   44|  3.30M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.30M, False: 125]
  |  |  ------------------
  |  |   45|    125|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 12, False: 113]
  |  |  ------------------
  |  |   46|    125|        f->lastcall += 2;                                                                          \
  |  |   47|    125|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw16_e9P6Filter:
   59|    403|static int u_sw16_e9(Filter *f) { SW16(f, (*b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|    403|    byte *b = f->buf;                                                                              \
  |  |   34|    403|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  3.39M|    do {                                                                                           \
  |  |   36|  3.39M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 264k, False: 3.13M]
  |  |  ------------------
  |  |   37|   264k|            b += 1;                                                                                \
  |  |   38|   264k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   264k|            f->lastcall = a;                                                                       \
  |  |   40|   264k|            set(b, get(b));                                                                        \
  |  |   41|   264k|            f->calls++;                                                                            \
  |  |   42|   264k|            b += 2 - 1;                                                                            \
  |  |   43|   264k|        }                                                                                          \
  |  |   44|  3.39M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 3.39M, False: 403]
  |  |  ------------------
  |  |   45|    403|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 12, False: 391]
  |  |  ------------------
  |  |   46|    403|        f->lastcall += 2;                                                                          \
  |  |   47|    403|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw16_e8e9P6Filter:
   61|     45|static int u_sw16_e8e9(Filter *f) { SW16(f, (*b == 0xe8 || *b == 0xe9), get_be16, set_le16) }
  ------------------
  |  |   33|     45|    byte *b = f->buf;                                                                              \
  |  |   34|     45|    byte *b_end = b + f->buf_len - 3;                                                              \
  |  |   35|  4.54M|    do {                                                                                           \
  |  |   36|  13.5M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (36:13): [True: 77.2k, False: 4.46M]
  |  |  |  Branch (36:13): [True: 537k, False: 3.93M]
  |  |  ------------------
  |  |   37|   614k|            b += 1;                                                                                \
  |  |   38|   614k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   39|   614k|            f->lastcall = a;                                                                       \
  |  |   40|   614k|            set(b, get(b));                                                                        \
  |  |   41|   614k|            f->calls++;                                                                            \
  |  |   42|   614k|            b += 2 - 1;                                                                            \
  |  |   43|   614k|        }                                                                                          \
  |  |   44|  4.54M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (44:14): [True: 4.54M, False: 45]
  |  |  ------------------
  |  |   45|     45|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (45:9): [True: 29, False: 16]
  |  |  ------------------
  |  |   46|     45|        f->lastcall += 2;                                                                          \
  |  |   47|     45|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e8P6Filter:
  101|    571|static int u_sw32_e8(Filter *f) { SW32(f, (*b == 0xe8), get_be32, set_le32) }
  ------------------
  |  |   77|    571|    byte *b = f->buf;                                                                              \
  |  |   78|    571|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  1.48M|    do {                                                                                           \
  |  |   80|  1.48M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 77.4k, False: 1.40M]
  |  |  ------------------
  |  |   81|  77.4k|            b += 1;                                                                                \
  |  |   82|  77.4k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|  77.4k|            f->lastcall = a;                                                                       \
  |  |   84|  77.4k|            set(b, get(b));                                                                        \
  |  |   85|  77.4k|            f->calls++;                                                                            \
  |  |   86|  77.4k|            b += 4 - 1;                                                                            \
  |  |   87|  77.4k|        }                                                                                          \
  |  |   88|  1.48M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 1.48M, False: 571]
  |  |  ------------------
  |  |   89|    571|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 553, False: 18]
  |  |  ------------------
  |  |   90|    571|        f->lastcall += 4;                                                                          \
  |  |   91|    571|    return 0;
  ------------------
filter_impl.cpp:_ZL9u_sw32_e9P6Filter:
  103|  1.36k|static int u_sw32_e9(Filter *f) { SW32(f, (*b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|  1.36k|    byte *b = f->buf;                                                                              \
  |  |   78|  1.36k|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  2.30M|    do {                                                                                           \
  |  |   80|  2.30M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 134k, False: 2.17M]
  |  |  ------------------
  |  |   81|   134k|            b += 1;                                                                                \
  |  |   82|   134k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   134k|            f->lastcall = a;                                                                       \
  |  |   84|   134k|            set(b, get(b));                                                                        \
  |  |   85|   134k|            f->calls++;                                                                            \
  |  |   86|   134k|            b += 4 - 1;                                                                            \
  |  |   87|   134k|        }                                                                                          \
  |  |   88|  2.30M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 2.30M, False: 1.36k]
  |  |  ------------------
  |  |   89|  1.36k|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 8, False: 1.35k]
  |  |  ------------------
  |  |   90|  1.36k|        f->lastcall += 4;                                                                          \
  |  |   91|  1.36k|    return 0;
  ------------------
filter_impl.cpp:_ZL11u_sw32_e8e9P6Filter:
  105|     34|static int u_sw32_e8e9(Filter *f) { SW32(f, (*b == 0xe8 || *b == 0xe9), get_be32, set_le32) }
  ------------------
  |  |   77|     34|    byte *b = f->buf;                                                                              \
  |  |   78|     34|    byte *b_end = b + f->buf_len - 5;                                                              \
  |  |   79|  4.03M|    do {                                                                                           \
  |  |   80|  12.0M|        if (cond) {                                                                                \
  |  |  ------------------
  |  |  |  Branch (80:13): [True: 89.9k, False: 3.94M]
  |  |  |  Branch (80:13): [True: 184k, False: 3.76M]
  |  |  ------------------
  |  |   81|   273k|            b += 1;                                                                                \
  |  |   82|   273k|            unsigned a = (unsigned) (b - f->buf);                                                  \
  |  |   83|   273k|            f->lastcall = a;                                                                       \
  |  |   84|   273k|            set(b, get(b));                                                                        \
  |  |   85|   273k|            f->calls++;                                                                            \
  |  |   86|   273k|            b += 4 - 1;                                                                            \
  |  |   87|   273k|        }                                                                                          \
  |  |   88|  4.03M|    } while (++b < b_end);                                                                         \
  |  |  ------------------
  |  |  |  Branch (88:14): [True: 4.03M, False: 34]
  |  |  ------------------
  |  |   89|     34|    if (f->lastcall)                                                                               \
  |  |  ------------------
  |  |  |  Branch (89:9): [True: 27, False: 7]
  |  |  ------------------
  |  |   90|     34|        f->lastcall += 4;                                                                          \
  |  |   91|     34|    return 0;
  ------------------

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

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

_Z10printSetNli:
   38|  15.7k|void printSetNl(int need_nl) noexcept { pr_need_nl = need_nl; }
_Z8printErrPKcRK9Throwable:
  101|  14.8k|void printErr(const char *iname, const Throwable &e) noexcept {
  102|  14.8k|    char buf[1024];
  103|  14.8k|    size_t l;
  104|       |
  105|  14.8k|    upx_safe_snprintf(buf, sizeof(buf), "%s", prettyExceptionName(typeid(e).name()));
  106|  14.8k|    l = strlen(buf);
  ------------------
  |  |   70|  14.8k|#define strlen upx_safe_strlen
  ------------------
  107|  14.8k|    if (l < sizeof(buf) && e.getMsg())
  ------------------
  |  Branch (107:9): [True: 14.8k, False: 0]
  |  Branch (107:28): [True: 14.8k, False: 0]
  ------------------
  108|  14.8k|        upx_safe_snprintf(buf + l, sizeof(buf) - l, ": %s", e.getMsg());
  109|  14.8k|    l = strlen(buf);
  ------------------
  |  |   70|  14.8k|#define strlen upx_safe_strlen
  ------------------
  110|  14.8k|    if (l < sizeof(buf) && e.getErrno()) {
  ------------------
  |  Branch (110:9): [True: 14.8k, False: 0]
  |  Branch (110:28): [True: 0, False: 14.8k]
  ------------------
  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.8k|    pr_error(iname, buf, e.isWarning());
  121|  14.8k|}
_Z10infoHeaderv:
  176|  14.9k|void infoHeader() { info_header = 0; }
_Z10infoHeaderPKcz:
  178|     32|void infoHeader(const char *format, ...) {
  179|     32|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (179:9): [True: 32, False: 0]
  ------------------
  180|     32|        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.06k|void info(const char *format, ...) {
  191|  1.06k|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (191:9): [True: 230, False: 830]
  ------------------
  192|    230|        return;
  193|    830|    va_list args;
  194|    830|    char buf[1024];
  195|    830|    const int n = 4 * info_header;
  196|    830|    memset(buf, ' ', n);
  197|    830|    va_start(args, format);
  198|    830|    upx_safe_vsnprintf(buf + n, sizeof(buf) - n, format, args);
  199|       |    va_end(args);
  200|    830|    info_print(buf);
  201|    830|}
_Z11infoWarningPKcz:
  203|  1.68k|void infoWarning(const char *format, ...) {
  204|  1.68k|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (204:9): [True: 855, False: 830]
  ------------------
  205|    855|        return;
  206|    830|    va_list args;
  207|    830|    char buf[1024];
  208|    830|    va_start(args, format);
  209|    830|    upx_safe_vsnprintf(buf, sizeof(buf), format, args);
  210|       |    va_end(args);
  211|    830|    info("[WARNING] %s\n", buf);
  212|    830|}
msg.cpp:_ZL8pr_errorPKcS0_b:
   66|  14.8k|static void pr_error(const char *iname, const char *msg, bool is_warning) noexcept {
   67|  14.8k|    fflush(stdout);
   68|  14.8k|    fflush(stderr);
   69|  14.8k|    char buf[1024];
   70|  14.8k|    buf[0] = 0;
   71|  14.8k|    if (pr_need_nl == 2)
  ------------------
  |  Branch (71:9): [True: 0, False: 14.8k]
  ------------------
   72|      0|        printClearLine(stdout);
   73|  14.8k|    else if (pr_need_nl) {
  ------------------
  |  Branch (73:14): [True: 0, False: 14.8k]
  ------------------
   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.8k|    bool c = acc_isatty(STDERR_FILENO) ? 1 : 0;
  ------------------
  |  Branch (82:14): [True: 0, False: 14.8k]
  ------------------
   83|       |
   84|  14.8k|    int fg = con_fg(stderr, FG_BRTRED);
  ------------------
  |  |  164|  14.8k|#define con_fg(f, x) 0
  ------------------
   85|  14.8k|    upx_safe_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s: ", progname);
  ------------------
  |  |   70|  14.8k|#define strlen upx_safe_strlen
  ------------------
                  upx_safe_snprintf(buf + strlen(buf), sizeof(buf) - strlen(buf), "%s: ", progname);
  ------------------
  |  |   70|  14.8k|#define strlen upx_safe_strlen
  ------------------
   86|  14.8k|    pr_print(c, buf);
   87|       |    //(void)con_fg(stderr,FG_RED);
   88|  14.8k|    upx_safe_snprintf(buf, sizeof(buf), "%s: ", iname);
   89|  14.8k|    pr_print(c, buf);
   90|       |    //(void)con_fg(stderr,FG_BRTRED);
   91|  14.8k|    pr_print(c, msg);
   92|  14.8k|    pr_print(c, "\n");
   93|  14.8k|    fflush(stdout);
   94|  14.8k|    fflush(stderr);
   95|  14.8k|    fg = con_fg(stderr, fg);
  ------------------
  |  |  164|  14.8k|#define con_fg(f, x) 0
  ------------------
   96|       |
   97|  14.8k|    UNUSED(is_warning);
  ------------------
  |  |  249|  14.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   98|  14.8k|    UNUSED(fg);
  ------------------
  |  |  249|  14.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   99|  14.8k|}
msg.cpp:_ZL8pr_printbPKc:
   59|  59.4k|static void pr_print(bool c, const char *msg) noexcept {
   60|  59.4k|    if (c && !opt->to_stdout)
  ------------------
  |  Branch (60:9): [True: 0, False: 59.4k]
  |  Branch (60:14): [True: 0, False: 0]
  ------------------
   61|      0|        con_fprintf(stderr, "%s", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
   62|  59.4k|    else
   63|  59.4k|        fprintf(stderr, "%s", msg);
   64|  59.4k|}
msg.cpp:_ZL10info_printPKc:
  161|    830|static void info_print(const char *msg) {
  162|    830|    if (opt->info_mode <= 0)
  ------------------
  |  Branch (162:9): [True: 0, False: 830]
  ------------------
  163|      0|        return;
  164|    830|    FILE *f = opt->to_stdout ? stderr : stdout;
  ------------------
  |  Branch (164:15): [True: 0, False: 830]
  ------------------
  165|    830|    if (pr_need_nl) {
  ------------------
  |  Branch (165:9): [True: 0, False: 830]
  ------------------
  166|      0|        printClearLine(f);
  167|      0|        con_fprintf(f, "%s\n", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
  168|    830|    } else if (pr_need_nl)
  ------------------
  |  Branch (168:16): [True: 0, False: 830]
  ------------------
  169|      0|        con_fprintf(f, "\n%s\n", msg);
  ------------------
  |  |  165|      0|#define con_fprintf  fprintf
  ------------------
  170|    830|    else
  171|    830|        con_fprintf(f, "%s\n", msg);
  ------------------
  |  |  165|    830|#define con_fprintf  fprintf
  ------------------
  172|    830|    fflush(f);
  173|    830|    printSetNl(0);
  174|    830|}

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

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

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

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

_ZN9PackCpm86C2EP9InputFile:
   90|  2.52k|PackCpm86::PackCpm86(InputFile *f) : super(f) {
   91|  2.52k|    bele = &N_BELE_RTP::le_policy;
   92|  2.52k|    ngroups = 0;
   93|  2.52k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
   94|  2.52k|    model_8080 = false;
   95|  2.52k|    memset(ih, 0, sizeof(ih));
   96|  2.52k|    memset(groups, 0, sizeof(groups));
   97|  2.52k|}
_ZN9PackCpm8614readFileHeaderEv:
  115|  2.52k|int PackCpm86::readFileHeader() {
  116|  2.52k|    ngroups = 0;
  117|  2.52k|    grp_code = grp_data = grp_extra = grp_stack = nullptr;
  118|  2.52k|    memset(groups, 0, sizeof(groups));
  119|       |
  120|  2.52k|    fi->seek(0, SEEK_SET);
  121|  2.52k|    if (fi->read(ih, CMD_HDR_SIZE) != (int) CMD_HDR_SIZE)
  ------------------
  |  Branch (121:9): [True: 0, False: 2.52k]
  ------------------
  122|      0|        return 0;
  123|       |
  124|       |    // the header tail (after the 8 group descriptors) must be all zero
  125|  16.0k|    for (unsigned i = CMD_NGROUPS * GD_SIZE; i < CMD_HDR_SIZE; i++)
  ------------------
  |  Branch (125:46): [True: 15.9k, False: 60]
  ------------------
  126|  15.9k|        if (ih[i] != 0)
  ------------------
  |  Branch (126:13): [True: 2.46k, False: 13.4k]
  ------------------
  127|  2.46k|            return 0;
  128|       |
  129|     60|    unsigned fpos = CMD_HDR_SIZE;
  130|     60|    int n = 0;
  131|    378|    for (unsigned i = 0; i < CMD_NGROUPS; i++) {
  ------------------
  |  Branch (131:26): [True: 341, False: 37]
  ------------------
  132|    341|        const byte *d = ih + i * GD_SIZE;
  133|    341|        unsigned type = d[0];
  134|    341|        if (type == GT_UNUSED)
  ------------------
  |  Branch (134:13): [True: 144, False: 197]
  ------------------
  135|    144|            continue;
  136|    197|        if (type > GT_ESCAPE)
  ------------------
  |  Branch (136:13): [True: 23, False: 174]
  ------------------
  137|     23|            return 0; // not a valid CMD
  138|    174|        Group &g = groups[n];
  139|    174|        g.type = type;
  140|    174|        g.length = get_le16(d + 1);
  141|    174|        g.base = get_le16(d + 3);
  142|    174|        g.min = get_le16(d + 5);
  143|    174|        g.max = get_le16(d + 7);
  144|    174|        g.file_off = fpos;
  145|    174|        fpos += g.length * 16;
  146|    174|        if (type == GT_CODE && !grp_code)
  ------------------
  |  Branch (146:13): [True: 75, False: 99]
  |  Branch (146:32): [True: 27, False: 48]
  ------------------
  147|     27|            grp_code = &g;
  148|    147|        else if (type == GT_DATA && !grp_data)
  ------------------
  |  Branch (148:18): [True: 44, False: 103]
  |  Branch (148:37): [True: 20, False: 24]
  ------------------
  149|     20|            grp_data = &g;
  150|    127|        else if (type == GT_EXTRA && !grp_extra)
  ------------------
  |  Branch (150:18): [True: 21, False: 106]
  |  Branch (150:38): [True: 10, False: 11]
  ------------------
  151|     10|            grp_extra = &g;
  152|    117|        else if (type == GT_STACK && !grp_stack)
  ------------------
  |  Branch (152:18): [True: 17, False: 100]
  |  Branch (152:38): [True: 7, False: 10]
  ------------------
  153|      7|            grp_stack = &g;
  154|    174|        n++;
  155|    174|    }
  156|     37|    ngroups = n;
  157|     37|    if (!grp_code || grp_code->length == 0)
  ------------------
  |  Branch (157:9): [True: 12, False: 25]
  |  Branch (157:22): [True: 1, False: 24]
  ------------------
  158|     13|        return 0; // must have a code group with content
  159|     24|    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|     24|    if (fpos > file_size_u + 0x10000)
  ------------------
  |  Branch (163:9): [True: 9, False: 15]
  ------------------
  164|      9|        return 0;
  165|     15|    model_8080 = (grp_data == nullptr);
  166|     15|    return UPX_F_CPM86_CMD;
  ------------------
  |  |  596|     15|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  167|     24|}
_ZN9PackCpm869canUnpackEv:
  469|  2.52k|tribool PackCpm86::canUnpack() {
  470|  2.52k|    if (!readFileHeader())
  ------------------
  |  Branch (470:9): [True: 2.51k, False: 15]
  ------------------
  471|  2.51k|        return false;
  472|       |    // the loader + pack header live at the start of the code group
  473|     15|    fi->seek(grp_code->file_off, SEEK_SET);
  474|     15|    if (!readPackHeader(4096))
  ------------------
  |  Branch (474:9): [True: 11, False: 4]
  ------------------
  475|     11|        return false;
  476|      4|    return file_size_u > grp_code->file_off + ph.c_len;
  477|     15|}

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

_ZN10PackDjgpp2C2EP9InputFile:
   46|  14.8k|PackDjgpp2::PackDjgpp2(InputFile *f) : super(f), coff_offset(0) {
   47|  14.8k|    bele = &N_BELE_RTP::le_policy;
   48|  14.8k|    COMPILE_TIME_ASSERT(sizeof(dos_header_t) == 64)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   49|  14.8k|    COMPILE_TIME_ASSERT(sizeof(external_scnhdr_t) == 40)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   50|  14.8k|    COMPILE_TIME_ASSERT(sizeof(coff_header_t) == 0xa8)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   51|  14.8k|    COMPILE_TIME_ASSERT_ALIGNED1(dos_header_t)
  ------------------
  |  |  446|  14.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   52|  14.8k|    COMPILE_TIME_ASSERT_ALIGNED1(external_scnhdr_t)
  ------------------
  |  |  446|  14.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  14.8k|    COMPILE_TIME_ASSERT_ALIGNED1(coff_header_t)
  ------------------
  |  |  446|  14.8k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  14.8k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  14.8k|    {                                                                                              \
  |  |  |  |  |  |  429|  14.8k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  14.8k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  14.8k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  14.8k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  14.8k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  14.8k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  14.8k|        };                                                                                         \
  |  |  |  |  |  |  436|  14.8k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  14.8k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  14.8k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  14.8k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  14.8k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  14.8k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  14.8k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   54|  14.8k|    COMPILE_TIME_ASSERT(sizeof(stub_i386_dos32_djgpp2_stubify) == 2048)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|  14.8k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_ADLER32 == 0xbf689ba8)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|  14.8k|    COMPILE_TIME_ASSERT(STUB_I386_DOS32_DJGPP2_STUBIFY_CRC32 == 0x2ae982b2)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    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.8k|}
_ZN10PackDjgpp210handleStubEP10OutputFile:
   99|      5|void PackDjgpp2::handleStub(OutputFile *fo) {
  100|      5|    if (fo && !opt->djgpp2_coff.coff) {
  ------------------
  |  Branch (100:9): [True: 5, False: 0]
  |  Branch (100:15): [True: 5, False: 0]
  ------------------
  101|      5|        if (coff_offset > 0) {
  ------------------
  |  Branch (101:13): [True: 4, False: 1]
  ------------------
  102|       |            // copy stub from exe
  103|      4|            Packer::handleStub(fi, fo, coff_offset);
  104|      4|        } else {
  105|       |            // "stubify" stub
  106|      1|            info("Adding stub: %zd bytes", sizeof(stub_i386_dos32_djgpp2_stubify));
  107|      1|            fo->write(stub_i386_dos32_djgpp2_stubify, sizeof(stub_i386_dos32_djgpp2_stubify));
  108|      1|        }
  109|      5|    }
  110|      5|}
_ZN10PackDjgpp214readFileHeaderEv:
  156|  14.8k|int PackDjgpp2::readFileHeader() {
  157|  14.8k|    dos_header_t dos_hdr;
  158|       |
  159|  14.8k|    fi->seek(0, SEEK_SET);
  160|  14.8k|    fi->readx(&dos_hdr, sizeof(dos_hdr));
  161|  14.8k|    if (get_le16(&dos_hdr.e_magic) == 0x5a4d) { // MZ exe signature, stubbed?
  ------------------
  |  Branch (161:9): [True: 438, False: 14.4k]
  ------------------
  162|    438|        byte magic[8];
  163|    438|        fi->seek(16 * get_le16(&dos_hdr.e_cparhdr), SEEK_SET);
  164|    438|        fi->readx(magic, 8);
  165|    438|        if (memcmp("go32stub", magic, 8) != 0)
  ------------------
  |  Branch (165:13): [True: 324, False: 114]
  ------------------
  166|    324|            return 0; // not V2 image
  167|    438|    }
  168|  14.5k|    coff_offset = 512 * get_le16(&dos_hdr.e_cp);
  169|  14.5k|    if (get_le16(&dos_hdr.e_cblp) != 0)
  ------------------
  |  Branch (169:9): [True: 14.1k, False: 454]
  ------------------
  170|  14.1k|        coff_offset += get_le16(&dos_hdr.e_cblp) - 512;
  171|  14.5k|    fi->seek(coff_offset, SEEK_SET);
  172|  14.5k|    if (fi->read(&coff_hdr, sizeof(coff_hdr)) != sizeof(coff_hdr))
  ------------------
  |  Branch (172:9): [True: 6, False: 14.5k]
  ------------------
  173|      6|        throwCantPack("skipping djgpp symlink");
  174|  14.5k|    if (coff_hdr.f_magic != 0x014c) // I386MAGIC
  ------------------
  |  Branch (174:9): [True: 536, False: 14.0k]
  ------------------
  175|    536|        return 0;
  176|  14.0k|    if ((coff_hdr.f_flags & 2) == 0) // F_EXEC - COFF executable
  ------------------
  |  Branch (176:9): [True: 1, False: 14.0k]
  ------------------
  177|      1|        return 0;
  178|  14.0k|    if (coff_hdr.a_magic != 0413) // ZMAGIC - demand load format
  ------------------
  |  Branch (178:9): [True: 5, False: 14.0k]
  ------------------
  179|      5|        return 0;
  180|       |    // FIXME: check for Linux etc.
  181|       |
  182|  14.0k|    text = &coff_hdr.sh[0];
  183|  14.0k|    data = &coff_hdr.sh[1];
  184|  14.0k|    bss = &coff_hdr.sh[2];
  185|  14.0k|    return UPX_F_DJGPP2_COFF;
  ------------------
  |  |  554|  14.0k|#define UPX_F_DJGPP2_COFF         4
  ------------------
  186|  14.0k|}
_ZN10PackDjgpp29canUnpackEv:
  349|  14.8k|tribool PackDjgpp2::canUnpack() {
  350|  14.8k|    if (!readFileHeader())
  ------------------
  |  Branch (350:9): [True: 866, False: 14.0k]
  ------------------
  351|    866|        return false;
  352|  14.0k|    if (is_dlm(fi, coff_offset))
  ------------------
  |  Branch (352:9): [True: 0, False: 14.0k]
  ------------------
  353|      0|        throwCantUnpack("can't handle DLM");
  354|  14.0k|    fi->seek(coff_offset, SEEK_SET);
  355|  14.0k|    return readPackHeader(4096) ? 1 : -1;
  ------------------
  |  Branch (355:12): [True: 5, False: 14.0k]
  ------------------
  356|  14.0k|}
_ZN10PackDjgpp26unpackEP10OutputFile:
  362|      5|void PackDjgpp2::unpack(OutputFile *fo) {
  363|      5|    handleStub(fo);
  364|       |
  365|      5|    ibuf.alloc(ph.c_len);
  366|      5|    obuf.allocForDecompression(ph.u_len);
  367|       |
  368|      5|    fi->seek(coff_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  369|      5|    fi->readx(ibuf, ph.c_len);
  370|       |
  371|       |    // decompress
  372|      5|    decompress(ibuf, obuf);
  373|       |
  374|      5|    coff_header_t *const chdr = (coff_header_t *) raw_bytes(obuf, sizeof(coff_header_t));
  375|      5|    text = &chdr->sh[0];
  376|      5|    data = &chdr->sh[1];
  377|      5|    bss = &chdr->sh[2];
  378|       |
  379|      5|    const unsigned hdrsize = 20 + 28 + mem_size(sizeof(external_scnhdr_t), chdr->f_nscns);
  380|      5|    if (hdrsize < sizeof(coff_hdr) || hdrsize > text->scnptr || hdrsize > ph.u_len)
  ------------------
  |  Branch (380:9): [True: 3, False: 2]
  |  Branch (380:39): [True: 0, False: 2]
  |  Branch (380:65): [True: 0, False: 2]
  ------------------
  381|      0|        throwCantUnpack("coff header error");
  382|       |
  383|      5|    unsigned addvalue;
  384|      5|    if (ph.version >= 14)
  ------------------
  |  Branch (384:9): [True: 2, False: 3]
  ------------------
  385|      2|        addvalue = text->vaddr - hdrsize;
  386|      3|    else
  387|      3|        addvalue = text->vaddr & ~0x1ff; // for old versions
  388|       |
  389|       |    // unfilter
  390|      5|    if (ph.filter) {
  ------------------
  |  Branch (390:9): [True: 2, False: 3]
  ------------------
  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|      5|    if (ph.version < 14) {
  ------------------
  |  Branch (402:9): [True: 0, False: 5]
  ------------------
  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|      5|    } 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|      5|        const unsigned padding = text->scnptr - hdrsize;
  415|      5|        ibuf.clear(0, padding);
  416|       |
  417|      5|        if (fo) {
  ------------------
  |  Branch (417:13): [True: 2, False: 3]
  ------------------
  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|      5|    }
  423|       |
  424|      5|    if (fo)
  ------------------
  |  Branch (424:9): [True: 2, False: 3]
  ------------------
  425|      2|        handle_allegropak(fi, fo);
  426|      5|}
p_djgpp2.cpp:_ZL6is_dlmP9InputFilej:
  112|     18|static bool is_dlm(InputFile *fi, unsigned coff_offset) {
  113|     18|    byte buf[4];
  114|     18|    unsigned off;
  115|       |
  116|     18|    try {
  117|     18|        fi->seek(coff_offset, SEEK_SET);
  118|     18|        fi->readx(buf, 4);
  119|     18|        off = get_le32(buf);
  120|     18|        if (off > coff_offset + 4)
  ------------------
  |  Branch (120:13): [True: 17, False: 1]
  ------------------
  121|     17|            return false;
  122|      1|        fi->seek(off, SEEK_SET);
  123|      1|        fi->readx(buf, 4);
  124|      1|        if (memcmp(buf, "DLMF", 4) == 0)
  ------------------
  |  Branch (124:13): [True: 0, False: 1]
  ------------------
  125|      0|            return true;
  126|      1|    } catch (const IOException &) {
  127|      0|    }
  128|      1|    return false;
  129|     18|}
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.8k|    virtual int getVersion() const override { return 14; }
_ZNK10PackDjgpp29getFormatEv:
   40|  14.8k|    virtual int getFormat() const override { return UPX_F_DJGPP2_COFF; }
  ------------------
  |  |  554|  14.8k|#define UPX_F_DJGPP2_COFF         4
  ------------------
_ZNK10PackDjgpp27getNameEv:
   41|      2|    virtual const char *getName() const override { return "djgpp2/coff"; }

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

_ZN7PackExeC2EP9InputFile:
   49|  13.9k|PackExe::PackExe(InputFile *f) : super(f) {
   50|  13.9k|    bele = &N_BELE_RTP::le_policy;
   51|  13.9k|    COMPILE_TIME_ASSERT(sizeof(exe_header_t) == 32)
  ------------------
  |  |  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);}
  |  |  ------------------
  ------------------
   52|  13.9k|    COMPILE_TIME_ASSERT_ALIGNED1(exe_header_t)
  ------------------
  |  |  446|  13.9k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  13.9k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  13.9k|    {                                                                                              \
  |  |  |  |  |  |  429|  13.9k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  13.9k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  13.9k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  13.9k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  13.9k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  13.9k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  13.9k|        };                                                                                         \
  |  |  |  |  |  |  436|  13.9k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  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);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  13.9k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  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);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  13.9k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  13.9k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  13.9k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  13.9k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  13.9k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  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);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  13.9k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  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);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  13.9k|}
_ZN7PackExe14readFileHeaderEv:
  216|  13.9k|int PackExe::readFileHeader() {
  217|  13.9k|    ih_exesize = ih_imagesize = ih_overlay = 0;
  218|  13.9k|    fi->readx(&ih, sizeof(ih));
  219|  13.9k|    if (ih.ident != 'M' + 'Z' * 256 && ih.ident != 'Z' + 'M' * 256)
  ------------------
  |  Branch (219:9): [True: 13.7k, False: 165]
  |  Branch (219:40): [True: 13.7k, False: 2]
  ------------------
  220|  13.7k|        return 0;
  221|    167|    ih_exesize = ih.m512 + ih.p512 * 512 - (ih.m512 ? 512 : 0);
  ------------------
  |  Branch (221:45): [True: 106, False: 61]
  ------------------
  222|    167|    if (ih_exesize == 0)
  ------------------
  |  Branch (222:9): [True: 38, False: 129]
  ------------------
  223|     38|        ih_exesize = file_size;
  224|    167|    ih_imagesize = ih_exesize - ih.headsize16 * 16;
  225|    167|    ih_overlay = file_size - ih_exesize;
  226|    167|    if (file_size_u < sizeof(ih) || ((ih.m512 | ih.p512) && ih.m512 + ih.p512 * 512u < sizeof(ih)))
  ------------------
  |  Branch (226:9): [True: 0, False: 167]
  |  Branch (226:38): [True: 129, False: 38]
  |  Branch (226:61): [True: 4, False: 125]
  ------------------
  227|      4|        throwCantPack("illegal exe header");
  228|    163|    if (ih_exesize > file_size_u || ih_imagesize < 4 || ih_imagesize > ih_exesize)
  ------------------
  |  Branch (228:9): [True: 82, False: 81]
  |  Branch (228:37): [True: 1, False: 80]
  |  Branch (228:57): [True: 28, False: 52]
  ------------------
  229|    111|        throwCantPack("exe header corrupted");
  230|     52|    NO_printf("dos/exe header: %d %d %d\n", ih_exesize, ih_imagesize, ih_overlay);
  231|     52|    return UPX_F_DOS_EXE;
  ------------------
  |  |  553|     52|#define UPX_F_DOS_EXE             3
  ------------------
  232|    163|}
_ZN7PackExe9canUnpackEv:
  577|  13.9k|tribool PackExe::canUnpack() {
  578|  13.9k|    if (!readFileHeader())
  ------------------
  |  Branch (578:9): [True: 13.7k, False: 167]
  ------------------
  579|  13.7k|        return false;
  580|    167|    const unsigned off = ih.headsize16 * 16;
  581|    167|    fi->seek(off, SEEK_SET);
  582|    167|    bool b = readPackHeader(4096);
  583|    167|    return b && (off + ph.c_len <= file_size_u);
  ------------------
  |  Branch (583:12): [True: 26, False: 141]
  |  Branch (583:17): [True: 25, False: 1]
  ------------------
  584|  13.9k|}
_ZN7PackExe6unpackEP10OutputFile:
  590|     25|void PackExe::unpack(OutputFile *fo) {
  591|     25|    ibuf.alloc(file_size);
  592|     25|    obuf.allocForDecompression(ph.u_len);
  593|       |
  594|       |    // read the file
  595|     25|    fi->seek(ih.headsize16 * 16, SEEK_SET);
  596|     25|    fi->readx(ibuf, ih_imagesize);
  597|       |
  598|       |    // get compressed data offset
  599|     25|    unsigned e_len = ph.buf_offset + ph.getPackHeaderSize();
  600|     25|    if (ih_imagesize <= e_len + ph.c_len)
  ------------------
  |  Branch (600:9): [True: 3, False: 22]
  ------------------
  601|      3|        throwCantUnpack("file damaged");
  602|       |
  603|     22|    checkOverlay(ih_overlay);
  604|       |
  605|       |    // decompress
  606|     22|    decompress(ibuf + e_len, obuf);
  607|       |
  608|     22|    unsigned imagesize = ih_imagesize;
  609|     22|    imagesize -= 1;
  610|     22|    const byte flag = ibuf[imagesize];
  611|       |
  612|       |    // relocations
  613|     22|    unsigned relocnum = 0;
  614|     22|    SPAN_S_VAR(const byte, relocstart, obuf + ph.u_len, obuf);
  ------------------
  |  |  214|     22|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     22|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     22|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     22|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     22|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     22|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     22|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     22|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  615|     22|    MemBuffer mb_relocs;
  616|     22|    SPAN_0_VAR(byte, relocs, nullptr);
  ------------------
  |  |  212|     22|#define SPAN_0_VAR      XSPAN_0_VAR
  |  |  ------------------
  |  |  |  |  107|     22|    XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   89|     22|#define XSPAN_0(type) PtrOrSpanOrNull<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_0(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   71|     22|    (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     22|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     22|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |                   (XSPAN_NS(XSpanDebugFile)(XSPAN_NS(XSpanDebugFile)::make(__FILE__, __LINE__)))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |   36|     22|#define XSPAN_NS(x)           XSPAN_NAMESPACE_NAME ::x
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |   33|     22|#define XSPAN_NAMESPACE_NAME  XSpan
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  617|     22|    if (!(flag & NORELOC)) {
  ------------------
  |  Branch (617:9): [True: 0, False: 22]
  ------------------
  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|     22|    mem_clear(&oh);
  662|     22|    oh.ident = 'M' + 'Z' * 256;
  663|       |
  664|     22|    if (relocnum) {
  ------------------
  |  Branch (664:9): [True: 0, False: 22]
  ------------------
  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|     22|    unsigned outputlen = sizeof(oh) + 4 * relocnum + ptr_udiff_bytes(relocstart, obuf);
  671|     22|    oh.m512 = outputlen & 511;
  672|     22|    oh.p512 = (outputlen + 511) >> 9;
  673|     22|    oh.headsize16 = 2 + relocnum / 4;
  674|       |
  675|     22|    oh.max = ih.max;
  676|     22|    oh.min = ih.min;
  677|     22|    oh.sp = ih.sp;
  678|     22|    oh.ss = ih.ss;
  679|       |
  680|     22|    if (flag & MAXMEM) {
  ------------------
  |  Branch (680:9): [True: 0, False: 22]
  ------------------
  681|      0|        imagesize -= 2;
  682|      0|        oh.max = get_le16(ibuf + imagesize);
  683|      0|    }
  684|     22|    if (flag & MINMEM) {
  ------------------
  |  Branch (684:9): [True: 0, False: 22]
  ------------------
  685|      0|        imagesize -= 2;
  686|      0|        oh.min = get_le16(ibuf + imagesize);
  687|      0|    }
  688|     22|    if (flag & SP) {
  ------------------
  |  Branch (688:9): [True: 0, False: 22]
  ------------------
  689|      0|        imagesize -= 2;
  690|      0|        oh.sp = get_le16(ibuf + imagesize);
  691|      0|    }
  692|     22|    if (flag & SS) {
  ------------------
  |  Branch (692:9): [True: 0, False: 22]
  ------------------
  693|      0|        imagesize -= 2;
  694|      0|        oh.ss = get_le16(ibuf + imagesize);
  695|      0|    }
  696|       |
  697|     22|    unsigned ip = (flag & USEJUMP) ? get_le32(ibuf + imagesize - 4) : (unsigned) ih.firstreloc;
  ------------------
  |  Branch (697:19): [True: 0, False: 22]
  ------------------
  698|     22|    oh.ip = ip & 0xffff;
  699|     22|    oh.cs = ip >> 16;
  700|       |
  701|     22|    oh.relocoffs = sizeof(oh);
  702|     22|    oh.firstreloc = 0;
  703|     22|    if (!fo)
  ------------------
  |  Branch (703:9): [True: 0, False: 22]
  ------------------
  704|      0|        return;
  705|       |
  706|       |    // write header + relocations + uncompressed file
  707|     22|    fo->write(&oh, sizeof(oh));
  708|     22|    if (relocnum)
  ------------------
  |  Branch (708:9): [True: 0, False: 22]
  ------------------
  709|      0|        fo->write(relocs, 4 * relocnum);
  710|     22|    fo->write(obuf, ptr_udiff_bytes(relocstart, obuf));
  711|       |
  712|       |    // copy the overlay
  713|     22|    copyOverlay(fo, ih_overlay, obuf);
  714|     22|}

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

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

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

_ZN13PackLinuxI386C2EP9InputFile:
   59|  20.8k|PackLinuxI386::PackLinuxI386(InputFile *f) : super(f),
   60|  20.8k|    ei_osabi(Elf32_Ehdr::ELFOSABI_LINUX), osabi_note(nullptr)
   61|  20.8k|{
   62|  20.8k|    bele = &N_BELE_RTP::le_policy;
   63|  20.8k|}
_ZN11PackBSDI386C2EP9InputFile:
   65|  6.93k|PackBSDI386::PackBSDI386(InputFile *f) : super(f)
   66|  6.93k|{
   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.93k|    if (Elf32_Ehdr::ELFOSABI_LINUX==opt->o_unix.osabi0) {
  ------------------
  |  Branch (70:9): [True: 6.93k, False: 0]
  ------------------
   71|       |        // Disallow an incompatibility.
   72|  6.93k|        ei_osabi = Elf32_Ehdr::ELFOSABI_NONE;
   73|  6.93k|    }
   74|      0|    else {
   75|      0|        ei_osabi = opt->o_unix.osabi0;  // might be ELFOSABI_NONE
   76|      0|    }
   77|  6.93k|}

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

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

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

_ZN13PackDylibI386C2EP9InputFile:
  238|     23|PackDylibI386::PackDylibI386(InputFile *f) : super(f)
  239|     23|{
  240|     23|    my_filetype = Mach_header::MH_DYLIB;
  241|     23|}
_ZN14PackDylibAMD64C2EP9InputFile:
  243|  5.56k|PackDylibAMD64::PackDylibAMD64(InputFile *f) : super(f)
  244|  5.56k|{
  245|  5.56k|    my_filetype = Mach_header::MH_DYLIB;
  246|  5.56k|}
_ZN14PackDylibPPC32C2EP9InputFile:
  248|      7|PackDylibPPC32::PackDylibPPC32(InputFile *f) : super(f)
  249|      7|{
  250|      7|    my_filetype = Mach_header::MH_DYLIB;
  251|      7|}
_ZN14PackDylibPPC64C2EP9InputFile:
  252|      3|PackDylibPPC64::PackDylibPPC64(InputFile *f) : super(f)
  253|      3|{
  254|      3|    my_filetype = Mach_header::MH_DYLIB;
  255|      3|}
_ZN13PackMachPPC32C2EP9InputFile:
  270|  5.53k|PackMachPPC32::PackMachPPC32(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC,
  271|  5.53k|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE,
  272|  5.53k|        sizeof(Mach_ppc_thread_state)>>2, sizeof(threado), 12)
  273|  5.53k|{ }
_ZN13PackMachPPC64C2EP9InputFile:
  275|      7|PackMachPPC64::PackMachPPC64(InputFile *f) : super(f, Mach_header::CPU_TYPE_POWERPC64,
  276|      7|        Mach_header::MH_EXECUTE, Mach_thread_command::PPC_THREAD_STATE64,
  277|      7|        sizeof(Mach_ppc_thread_state64)>>2, sizeof(threado), 16)
  278|      7|{ }
_ZN12PackMachI386C2EP9InputFile:
  292|  4.88k|PackMachI386::PackMachI386(InputFile *f) : super(f, Mach_header::CPU_TYPE_I386,
  293|  4.88k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE32,
  294|  4.88k|        sizeof(Mach_i386_thread_state)>>2, sizeof(threado), 12)
  295|  4.88k|{ }
_ZN13PackMachAMD64C2EP9InputFile:
  303|  10.3k|PackMachAMD64::PackMachAMD64(InputFile *f) : super(f, Mach_header::CPU_TYPE_X86_64,
  304|  10.3k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::x86_THREAD_STATE64,
  305|  10.3k|        sizeof(Mach_AMD64_thread_state)>>2, sizeof(threado), 12)
  306|  10.3k|{ }
_ZN13PackMachARMELC2EP9InputFile:
  314|  4.31k|PackMachARMEL::PackMachARMEL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM,
  315|  4.31k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE,
  316|  4.31k|        sizeof(Mach_ARM_thread_state)>>2, sizeof(threado), 12)
  317|  4.31k|{ }
_ZN15PackMachARM64ELC2EP9InputFile:
  319|  3.75k|PackMachARM64EL::PackMachARM64EL(InputFile *f) : super(f, Mach_header::CPU_TYPE_ARM64,
  320|  3.75k|        Mach_header::MH_EXECUTE, (unsigned)Mach_thread_command::ARM_THREAD_STATE64,
  321|  3.75k|        sizeof(Mach_ARM64_thread_state)>>2, sizeof(threado), 14)
  322|  3.75k|{ }
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  5.53k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  5.53k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  5.53k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  5.53k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  5.53k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  5.53k|{
  225|  5.53k|    MachClass::compileTimeAssertions();
  226|  5.53k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  5.53k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  5.53k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  5.53k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  5.53k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  5.53k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|  5.53k|{
  236|  5.53k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE6unpackEP10OutputFile:
 1476|    140|{
 1477|    140|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|    140|    fi->seek(0, SEEK_SET);
 1479|    140|    fi->readx(&mhdri, sizeof(mhdri));
 1480|    140|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 140]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|    140|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|    140|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 140]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    140|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|    140|    rawmseg_buf.alloc(sz_cmds);
 1490|    140|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|    140|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|    140|    fi->seek(overlay_offset, SEEK_SET);
 1498|    140|    p_info hbuf;
 1499|    140|    fi->readx(&hbuf, sizeof(hbuf));
 1500|    140|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|    140|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|    140|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|    114|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 26, False: 114]
  |  Branch (1502:39): [True: 11, False: 103]
  ------------------
 1503|     37|        throwCantUnpack("file header corrupted");
 1504|    103|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 22, False: 81]
  ------------------
 1505|     22|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 22, False: 0]
  ------------------
 1506|     22|        opt->backup = 1;
 1507|     22|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     22|    }
 1509|       |
 1510|    103|    ibuf.alloc(blocksize + OVERHEAD);
 1511|    103|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|    103|    fi->readx(&bhdr, sizeof(bhdr));
 1513|    103|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|    103|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|    103|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1515:9): [True: 58, False: 45]
  |  Branch (1515:43): [True: 13, False: 32]
  |  Branch (1515:60): [True: 2, False: 30]
  ------------------
 1516|     73|        throwCantUnpack("file header corrupted");
 1517|     30|    ph.method = bhdr.b_method;
 1518|     30|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|     60|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 10, False: 20]
  ------------------
 1519|     20|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|     20|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 3, False: 17]
  ------------------
 1520|     13|        throwCantUnpack("file header bad method");
 1521|     17|    ph.filter = bhdr.b_ftid;
 1522|     17|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|     17|    fi->readx(ibuf, ph.c_len);
 1526|     17|    MemBuffer mhdr_buf(ph.u_len);
 1527|     17|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|     17|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|     17|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 17, False: 0]
  ------------------
 1530|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 0, False: 0]
  ------------------
 1532|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 0]
  ------------------
 1533|      5|        throwCantUnpack("file header corrupted");
 1534|     12|    unsigned const ncmds = mhdr->ncmds;
 1535|     12|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 12, False: 0]
  |  Branch (1535:19): [True: 0, False: 0]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|     12|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|     12|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|     12|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|     12|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|     12|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 0, False: 12]
  ------------------
 1546|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1547|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1547:13): [True: 0, False: 0]
  ------------------
 1548|      0|                headway, lc_seg, sizeof(Addr))) {
 1549|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1550|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1551|      0|            throwCantUnpack(msg);
 1552|      0|        }
 1553|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1554|      0|        headway -= cmdsize;
 1555|      0|        ptr     += cmdsize;
 1556|      0|    }
 1557|       |
 1558|       |    // Put LC_SEGMENT together at the beginning
 1559|     12|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|     12|#define upx_qsort ::qsort
  ------------------
 1560|     12|    n_segment = 0;
 1561|     12|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1561:25): [True: 0, False: 12]
  ------------------
 1562|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1563|      0|    }
 1564|       |
 1565|     12|    total_in = 0;
 1566|     12|    total_out = 0;
 1567|     12|    unsigned c_adler = upx_adler32(nullptr, 0);
 1568|     12|    unsigned u_adler = upx_adler32(nullptr, 0);
 1569|       |
 1570|     12|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1571|     12|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1571:26): [True: 0, False: 12]
  ------------------
 1572|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1572:13): [True: 0, False: 0]
  |  Branch (1572:39): [True: 0, False: 0]
  ------------------
 1573|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1573:17): [True: 0, False: 0]
  ------------------
 1574|      0|                segTEXT = msegcmd[k];
 1575|      0|            }
 1576|      0|            if (fo)
  ------------------
  |  Branch (1576:17): [True: 0, False: 0]
  ------------------
 1577|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1578|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1579|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1580|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1580:17): [True: 0, False: 0]
  ------------------
 1581|      0|                break;  // only the first lc_seg when MH_DYLIB
 1582|      0|            }
 1583|      0|        }
 1584|      0|    }
 1585|     12|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1586|     12|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1586:9): [True: 0, False: 12]
  ------------------
 1587|      0|        upx_uint64_t cpr_mod_init_func(0);
 1588|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1589|      0|        Mach_segment_command const *rc = rawmseg;
 1590|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1591|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1592|      0|        for (
 1593|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1594|      0|            k < ncmds;
  ------------------
  |  Branch (1594:13): [True: 0, False: 0]
  ------------------
 1595|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1596|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1597|      0|        ) {
 1598|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1598:17): [True: 0, False: 0]
  ------------------
 1599|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1599:17): [True: 0, False: 0]
  ------------------
 1600|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1600:21): [True: 0, False: 0]
  ------------------
 1601|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1602|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1603|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1604|      0|                }
 1605|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1606|      0|                if (fo)
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1608|      0|                unsigned const len = rc->filesize;
 1609|      0|                MemBuffer data(len);
 1610|      0|                fi->readx(data, len);
 1611|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1611:21): [True: 0, False: 0]
  ------------------
 1612|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1613|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1613:25): [True: 0, False: 0]
  |  Branch (1613:60): [True: 0, False: 0]
  ------------------
 1614|      0|                        throwCantUnpack("bad __mod_init_func");
 1615|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1616|      0|                }
 1617|      0|                if (fo)
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    fo->write(data, len);
 1619|      0|            }
 1620|      0|        }
 1621|      0|    }
 1622|     12|    else
 1623|     12|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1623:26): [True: 0, False: 12]
  ------------------
 1624|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1625|      0|        if (size) {
  ------------------
  |  Branch (1625:13): [True: 0, False: 0]
  ------------------
 1626|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1627|      0|            if (fo)
  ------------------
  |  Branch (1627:17): [True: 0, False: 0]
  ------------------
 1628|      0|                fo->seek(where, SEEK_SET);
 1629|      0|            unpackExtent(size, fo,
 1630|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1631|      0|        }
 1632|      0|    }
 1633|     12|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1638|  5.53k|{
 1639|  5.53k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1640|  5.53k|    fi->seek(0, SEEK_SET);
 1641|  5.53k|    fi->readx(&mhdri, sizeof(mhdri));
 1642|       |
 1643|  5.53k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1643:9): [True: 4.66k, False: 869]
  ------------------
 1644|    869|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1644:9): [True: 41, False: 828]
  ------------------
 1645|    828|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1645:9): [True: 37, False: 791]
  ------------------
 1646|  5.53k|    )
 1647|  4.74k|        return false;
 1648|    791|    my_cpusubtype = mhdri.cpusubtype;
 1649|       |
 1650|    791|    unsigned const ncmds = mhdri.ncmds;
 1651|    791|    int headway = (int)mhdri.sizeofcmds;
 1652|    791|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|    790|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1652:9): [True: 1, False: 790]
  |  Branch (1652:19): [True: 33, False: 757]
  |  Branch (1652:41): [True: 7, False: 750]
  ------------------
 1653|    750|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1653:10): [True: 32, False: 718]
  ------------------
 1654|     73|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     73|#define snprintf  upx_safe_snprintf
  ------------------
 1655|     73|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1656|     73|        throwCantUnpack(msg);
 1657|     73|    }
 1658|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1659|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1660|    718|    if ((2 == ncmds
  ------------------
  |  Branch (1660:10): [True: 6, False: 712]
  ------------------
 1661|      6|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1661:12): [True: 1, False: 5]
  ------------------
 1662|    717|    ||  (3 <= ncmds
  ------------------
  |  Branch (1662:10): [True: 534, False: 183]
  ------------------
 1663|    534|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1663:12): [True: 1, False: 533]
  ------------------
 1664|    534|                    + sizeof(Mach_main_command)))) {
 1665|      2|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1666|      2|        throwCantUnpack("file corrupted");
 1667|      2|    }
 1668|    716|    sz_mach_headers = headway + sizeof(mhdri);
 1669|    716|    if (2048 < headway) {
  ------------------
  |  Branch (1669:9): [True: 2, False: 714]
  ------------------
 1670|      2|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1671|      2|    }
 1672|    716|    if (!headway) {
  ------------------
  |  Branch (1672:9): [True: 0, False: 716]
  ------------------
 1673|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1674|      0|    }
 1675|    716|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1676|    716|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1677|    716|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1678|       |
 1679|    716|    Mach_segment_command const *ptrTEXT = nullptr;
 1680|    716|    upx_uint64_t rip = 0;
 1681|    716|    unsigned style = 0;
 1682|    716|    off_t offLINK = 0;
  ------------------
  |  |  216|    716|#define off_t upx_off_t
  ------------------
 1683|    716|    unsigned pos_next = 0;
 1684|    716|    unsigned nseg = 0;
 1685|    716|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1686|  2.67k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1686:25): [True: 2.20k, False: 470]
  ------------------
 1687|  2.20k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1688|  2.20k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1688:13): [True: 7, False: 2.19k]
  ------------------
 1689|      7|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      7|#define snprintf  upx_safe_snprintf
  ------------------
 1690|      7|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1691|      7|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1692|      7|            throwCantPack(buf);
 1693|      7|        }
 1694|  2.19k|        unsigned const cmd = ptr->cmd;
 1695|  2.19k|        unsigned const cmdsize = ptr->cmdsize;
 1696|  2.19k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1696:13): [True: 205, False: 1.99k]
  ------------------
 1697|    205|                opt->info_mode += 1;
 1698|    205|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1699|    205|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1700|    205|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1701|    205|                opt->info_mode -= 1;
 1702|    205|                throwCantUnpack("file corrupted");
 1703|    205|        }
 1704|  1.99k|        headway -= cmdsize;
 1705|  1.99k|        if (headway < 0) {
  ------------------
  |  Branch (1705:13): [True: 0, False: 1.99k]
  ------------------
 1706|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1707|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1708|      0|                (unsigned)ptr->cmdsize);
 1709|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1710|      0|        }
 1711|  1.99k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1711:13): [True: 1.37k, False: 617]
  ------------------
 1712|  1.37k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1713|  1.37k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1713:17): [True: 31, False: 1.34k]
  ------------------
 1714|  1.34k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1714:17): [True: 2, False: 1.34k]
  ------------------
 1715|  1.34k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1715:17): [True: 1, False: 1.34k]
  ------------------
 1716|     34|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1717|     34|                      "  filesize=0x%lx  fileoff=0x%lx",
 1718|     34|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1719|     34|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1720|     34|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1721|     34|                throwCantUnpack("file corrupted");
 1722|     34|            }
 1723|  1.34k|            ++nseg;
 1724|  1.34k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1724:17): [True: 13, False: 1.32k]
  ------------------
 1725|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1726|     13|                style = 391;  // UPX 3.91
 1727|     13|            }
 1728|  1.34k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1728:17): [True: 51, False: 1.29k]
  ------------------
 1729|     51|                ptrTEXT = segptr;
 1730|     51|                style = 391;  // UPX 3.91
 1731|     51|            }
 1732|  1.34k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1732:17): [True: 30, False: 1.31k]
  ------------------
 1733|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1734|     30|                style = 392;  // UPX 3.92
 1735|     30|            }
 1736|  1.34k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1736:17): [True: 519, False: 822]
  ------------------
 1737|    519|                offLINK = segptr->fileoff;
 1738|    519|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1738:21): [True: 164, False: 355]
  ------------------
 1739|    164|                    style = 395;
 1740|    164|                }
 1741|    519|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1741:21): [True: 301, False: 218]
  ------------------
 1742|    301|                    offLINK = pos_next;
 1743|    301|                }
 1744|    519|            }
 1745|  1.34k|            pos_next = segptr->filesize + segptr->fileoff;
 1746|  1.34k|        }
 1747|    617|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1747:18): [True: 229, False: 388]
  ------------------
 1748|    229|            rip = entryVMA = threadc_getPC(ptr);
 1749|    229|        }
 1750|  1.99k|    }
 1751|    470|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1751:9): [True: 292, False: 178]
  |  Branch (1751:20): [True: 290, False: 2]
  ------------------
 1752|    290|        style = 392;
 1753|    290|    }
 1754|    470|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1754:9): [True: 5, False: 465]
  |  Branch (1754:23): [True: 3, False: 2]
  |  Branch (1754:37): [True: 2, False: 1]
  |  Branch (1754:49): [True: 2, False: 0]
  ------------------
 1755|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1756|      2|    }
 1757|    470|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1757:9): [True: 12, False: 458]
  |  Branch (1757:23): [True: 8, False: 450]
  ------------------
 1758|     19|        return false;
 1759|     19|    }
 1760|       |
 1761|    451|    int const small = 32 + sizeof(overlay_offset);
 1762|    451|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1763|    451|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1763:9): [True: 3, False: 448]
  ------------------
 1764|      3|        fi->seek(offLINK - bufsize, SEEK_SET);
 1765|      3|    } else
 1766|    448|    if (392 == style) {
  ------------------
  |  Branch (1766:9): [True: 286, False: 162]
  ------------------
 1767|    286|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1767:13): [True: 0, False: 286]
  ------------------
 1768|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1769|      0|        }
 1770|    286|        else { // PackHeader follows loader at __LINKEDIT
 1771|    286|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1771:17): [True: 252, False: 34]
  ------------------
 1772|    252|                bufsize = fi->st_size() - offLINK;
 1773|    252|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1773:21): [True: 4, False: 248]
  ------------------
 1774|      4|                    throwCantUnpack("bad offLINK %p %p",
 1775|      4|                        (void *)offLINK, (void *)file_size);
 1776|      4|                }
 1777|    252|            }
 1778|    282|            fi->seek(offLINK, SEEK_SET);
 1779|    282|        }
 1780|    286|    } else
 1781|    162|    if (395 == style) {
  ------------------
  |  Branch (1781:9): [True: 161, False: 1]
  ------------------
 1782|    161|        fi->seek(offLINK - bufsize, SEEK_SET);
 1783|    161|    }
 1784|    447|    MemBuffer buf(bufsize);
 1785|    447|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1786|    447|    buf3.clear();
 1787|       |
 1788|    447|    fi->readx(buf, bufsize);
 1789|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1790|       |
 1791|    447|    int i = bufsize;
 1792|  10.6k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1792:12): [True: 10.4k, False: 147]
  |  Branch (1792:25): [True: 10.1k, False: 300]
  ------------------
 1793|    447|    i -= small;
 1794|       |    // allow incompressible extents
 1795|    447|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1795:9): [True: 148, False: 299]
  |  Branch (1795:18): [True: 299, False: 0]
  ------------------
 1796|       |        // Breadcrumbs failed.
 1797|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1798|    440|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1798:38): [True: 31, False: 409]
  ------------------
 1799|    440|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1799:13): [True: 31, False: 409]
  |  Branch (1799:24): [True: 28, False: 3]
  |  Branch (1799:31): [True: 5, False: 23]
  ------------------
 1800|      5|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1801|      5|            fi->readx(buf3, bufsize);
 1802|      5|            unsigned char const *b = &buf3[0];
 1803|      5|            unsigned disp = *(TE32 const *)&b[1];
 1804|      5|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1804:17): [True: 0, False: 5]
  ------------------
 1805|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1805:21): [True: 0, False: 0]
  |  Branch (1805:35): [True: 0, False: 0]
  ------------------
 1806|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1807|       |                    // searching for "executable_path=" etc.
 1808|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1808:21): [True: 0, False: 0]
  |  Branch (1808:40): [True: 0, False: 0]
  ------------------
 1809|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1810|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1810:25): [True: 0, False: 0]
  |  Branch (1810:46): [True: 0, False: 0]
  ------------------
 1811|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1812|       |                        // This is the folded stub.
 1813|       |                        // FIXME: check b_method?
 1814|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1814:29): [True: 0, False: 0]
  |  Branch (1814:60): [True: 0, False: 0]
  ------------------
 1815|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1816|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1817|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1818|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1818:33): [True: 0, False: 0]
  ------------------
 1819|      0|                                return true;  // success
 1820|      0|                            }
 1821|      0|                            overlay_offset = 0;  // failure
 1822|      0|                        }
 1823|      0|                    }
 1824|      0|                }
 1825|      0|            }
 1826|      5|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1826:17): [True: 0, False: 5]
  ------------------
 1827|      0|                infoWarning("file corrupted: %s", fi->getName());
 1828|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1829|      0|                fi->readx(buf3, bufsize);
 1830|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1831|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1831:24): [True: 0, False: 0]
  ------------------
 1832|      0|                    unsigned x = *p;
 1833|      0|                    if (x) {
  ------------------
  |  Branch (1833:25): [True: 0, False: 0]
  ------------------
 1834|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1834:29): [True: 0, False: 0]
  |  Branch (1834:40): [True: 0, False: 0]
  ------------------
 1835|      0|                            fi->seek(0, SEEK_SET);
 1836|      0|                            fi->readx(buf3, bufsize);
 1837|      0|                            p = (unsigned const *)&buf3[x];
 1838|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1838:33): [True: 0, False: 0]
  |  Branch (1838:46): [True: 0, False: 0]
  |  Branch (1838:59): [True: 0, False: 0]
  ------------------
 1839|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1839:33): [True: 0, False: 0]
  |  Branch (1839:59): [True: 0, False: 0]
  ------------------
 1840|      0|                            ) {
 1841|      0|                                overlay_offset = x;
 1842|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1843|      0|                                    overlay_offset);
 1844|      0|                                return true;
 1845|      0|                            }
 1846|      0|                        }
 1847|      0|                        break;
 1848|      0|                    }
 1849|      0|                }
 1850|      0|            }
 1851|      5|        }
 1852|    440|        if (391==style) {
  ------------------
  |  Branch (1852:13): [True: 1, False: 439]
  ------------------
 1853|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1854|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1854:20): [True: 0, False: 1]
  ------------------
 1855|      1|            overlay_offset = *uptr;
 1856|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1856:17): [True: 0, False: 1]
  |  Branch (1856:55): [True: 0, False: 0]
  ------------------
 1857|      0|                return true;  // success
 1858|      0|            }
 1859|      1|            overlay_offset = 0;
 1860|      1|            return false;
 1861|      1|        }
 1862|    439|        if (392==style) {
  ------------------
  |  Branch (1862:13): [True: 277, False: 162]
  ------------------
 1863|    277|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1864|       |            // p_info isn't used for execution, so it has less value for checking:
 1865|       |            //      0== .p_progid
 1866|       |            //      .p_filesize == .p_blocksize
 1867|    277|            fi->seek(overlay_offset, SEEK_SET);
 1868|    277|            fi->readx(buf3, bufsize);
 1869|    277|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1870|    277|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1871|    277|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1872|    277|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1872:17): [True: 134, False: 143]
  ------------------
 1873|    134|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1873:17): [True: 33, False: 101]
  ------------------
 1874|     33|                unsigned const method = b_ptr->b_method;
 1875|     33|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     33|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     32|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1875:22): [True: 1, False: 32]
  |  Branch (1875:48): [True: 3, False: 29]
  ------------------
 1876|      4|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1876:21): [True: 2, False: 2]
  ------------------
 1877|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1877:21): [True: 0, False: 2]
  ------------------
 1878|      0|                    return true;
 1879|      0|                }
 1880|     33|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1881|     33|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     33|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     30|#define M_NRV2E_8     9
  ------------------
  |  Branch (1881:22): [True: 3, False: 30]
  |  Branch (1881:45): [True: 1, False: 29]
  ------------------
 1882|      4|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1882:20): [True: 1, False: 3]
  ------------------
 1883|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1883:21): [True: 0, False: 1]
  ------------------
 1884|      0|                    return true;
 1885|      0|                }
 1886|       |                // FIXME: M_LZMA
 1887|     33|            }
 1888|       |
 1889|    277|            overlay_offset = 0;
 1890|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1891|       |            // is the total length of compressed data which precedes it
 1892|       |            //(distance to l_info), so that's another method.
 1893|    277|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1894|    277|            fi->readx(buf3, 0x1000);
 1895|    277|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1896|    277|            unsigned const *p;
 1897|  17.6k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1897:55): [True: 17.5k, False: 56]
  |  Branch (1897:69): [True: 4.24k, False: 13.3k]
  ------------------
 1898|  4.24k|                overlay_offset  = *(TE32 const *)p;
 1899|  4.24k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:21): [True: 135, False: 4.10k]
  ------------------
 1900|    135|                    throwCantUnpack("file corrupted");
 1901|  4.10k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1901:21): [True: 3.43k, False: 676]
  ------------------
 1902|  3.43k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1903|  3.43k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1904|  3.43k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1904:25): [True: 25, False: 3.40k]
  ------------------
 1905|     25|                        throwCantUnpack("file corrupted");
 1906|  3.40k|                    fi->seek(overlay_offset, SEEK_SET);
 1907|  3.40k|                    fi->readx(buf3, bufsize);
 1908|  3.40k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1908:25): [True: 929, False: 2.47k]
  ------------------
 1909|    929|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1909:25): [True: 61, False: 868]
  ------------------
 1910|     61|                        return true;
 1911|     61|                    }
 1912|  3.40k|                }
 1913|  4.10k|            }
 1914|    277|        }
 1915|    439|    }
 1916|       |
 1917|    225|    overlay_offset = 0;  // impossible value
 1918|    225|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1919|    225|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1919:9): [True: 164, False: 61]
  |  Branch (1919:19): [True: 164, False: 0]
  ------------------
 1920|    164|        overlay_offset = get_te32(buf + i + l);
 1921|    164|    }
 1922|    225|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1922:16): [True: 70, False: 155]
  ------------------
 1923|    155|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1923:9): [True: 98, False: 57]
  ------------------
 1924|    107|        infoWarning("file corrupted: %s", fi->getName());
 1925|    107|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1926|    107|        fi->seek(sz_mach_headers, SEEK_SET);
 1927|    107|        fi->readx(buf2, buf2.getSize());
 1928|    107|        unsigned const *p = (unsigned const *)&buf2[0];
 1929|    107|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1930|   303k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1930:16): [True: 303k, False: 85]
  ------------------
 1931|   303k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1931:16): [True: 68.8k, False: 234k]
  ------------------
 1932|  68.8k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1932:16): [True: 27.8k, False: 41.0k]
  ------------------
 1933|  27.8k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1933:13): [True: 2.81k, False: 24.9k]
  ------------------
 1934|  2.81k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1934:13): [True: 1.68k, False: 1.13k]
  ------------------
 1935|  1.68k|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1935:13): [True: 53, False: 1.62k]
  ------------------
 1936|   303k|        ) {
 1937|     53|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1938|     53|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1938:19): [True: 31, False: 22]
  ------------------
 1939|     22|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:31): [True: 0, False: 22]
  ------------------
 1940|     22|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1940:24): [True: 0, False: 22]
  ------------------
 1941|     22|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1942|     22|                return true;
 1943|     22|            }
 1944|     53|        }
 1945|     85|        throwCantUnpack("file corrupted");
 1946|    107|    }
 1947|    118|    return true;
 1948|    225|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  9.19k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  9.19k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  9.19k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  9.19k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  9.19k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  9.19k|{
  225|  9.19k|    MachClass::compileTimeAssertions();
  226|  9.19k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  9.19k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  9.19k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  9.19k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  9.19k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  9.19k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  9.19k|{
  236|  9.19k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1476|    100|{
 1477|    100|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|    100|    fi->seek(0, SEEK_SET);
 1479|    100|    fi->readx(&mhdri, sizeof(mhdri));
 1480|    100|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 100]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|    100|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|    100|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 0, False: 100]
  ------------------
 1486|      0|        throwCantUnpack("file header corrupted");
 1487|      0|    }
 1488|    100|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|    100|    rawmseg_buf.alloc(sz_cmds);
 1490|    100|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|    100|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|    100|    fi->seek(overlay_offset, SEEK_SET);
 1498|    100|    p_info hbuf;
 1499|    100|    fi->readx(&hbuf, sizeof(hbuf));
 1500|    100|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|    100|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|    100|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|     65|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 35, False: 65]
  |  Branch (1502:39): [True: 24, False: 41]
  ------------------
 1503|     59|        throwCantUnpack("file header corrupted");
 1504|     41|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 14, False: 27]
  ------------------
 1505|     14|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 14, False: 0]
  ------------------
 1506|     14|        opt->backup = 1;
 1507|     14|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     14|    }
 1509|       |
 1510|     41|    ibuf.alloc(blocksize + OVERHEAD);
 1511|     41|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|     41|    fi->readx(&bhdr, sizeof(bhdr));
 1513|     41|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|     41|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|     41|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1515:9): [True: 14, False: 27]
  |  Branch (1515:43): [True: 13, False: 14]
  |  Branch (1515:60): [True: 4, False: 10]
  ------------------
 1516|     31|        throwCantUnpack("file header corrupted");
 1517|     10|    ph.method = bhdr.b_method;
 1518|     10|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|     20|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 3, False: 7]
  ------------------
 1519|      7|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|      7|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 4, False: 3]
  ------------------
 1520|      7|        throwCantUnpack("file header bad method");
 1521|      3|    ph.filter = bhdr.b_ftid;
 1522|      3|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|      3|    fi->readx(ibuf, ph.c_len);
 1526|      3|    MemBuffer mhdr_buf(ph.u_len);
 1527|      3|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|      3|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|      3|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 3, False: 0]
  ------------------
 1530|      0|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 0, False: 0]
  ------------------
 1531|      0|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 0, False: 0]
  ------------------
 1532|      0|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 0]
  ------------------
 1533|      1|        throwCantUnpack("file header corrupted");
 1534|      2|    unsigned const ncmds = mhdr->ncmds;
 1535|      2|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 2, False: 0]
  |  Branch (1535:19): [True: 0, False: 0]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|      2|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|      2|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|      2|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|      2|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|      2|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 0, False: 2]
  ------------------
 1546|      0|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1547|      0|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1547:13): [True: 0, False: 0]
  ------------------
 1548|      0|                headway, lc_seg, sizeof(Addr))) {
 1549|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1550|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1551|      0|            throwCantUnpack(msg);
 1552|      0|        }
 1553|      0|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|      0|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1554|      0|        headway -= cmdsize;
 1555|      0|        ptr     += cmdsize;
 1556|      0|    }
 1557|       |
 1558|       |    // Put LC_SEGMENT together at the beginning
 1559|      2|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|      2|#define upx_qsort ::qsort
  ------------------
 1560|      2|    n_segment = 0;
 1561|      2|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1561:25): [True: 0, False: 2]
  ------------------
 1562|      0|        n_segment += (lc_seg==msegcmd[j].cmd);
 1563|      0|    }
 1564|       |
 1565|      2|    total_in = 0;
 1566|      2|    total_out = 0;
 1567|      2|    unsigned c_adler = upx_adler32(nullptr, 0);
 1568|      2|    unsigned u_adler = upx_adler32(nullptr, 0);
 1569|       |
 1570|      2|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1571|      2|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1571:26): [True: 0, False: 2]
  ------------------
 1572|      0|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1572:13): [True: 0, False: 0]
  |  Branch (1572:39): [True: 0, False: 0]
  ------------------
 1573|      0|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1573:17): [True: 0, False: 0]
  ------------------
 1574|      0|                segTEXT = msegcmd[k];
 1575|      0|            }
 1576|      0|            if (fo)
  ------------------
  |  Branch (1576:17): [True: 0, False: 0]
  ------------------
 1577|      0|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1578|      0|            unpackExtent(msegcmd[k].filesize, fo,
 1579|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1580|      0|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1580:17): [True: 0, False: 0]
  ------------------
 1581|      0|                break;  // only the first lc_seg when MH_DYLIB
 1582|      0|            }
 1583|      0|        }
 1584|      0|    }
 1585|      2|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1586|      2|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1586:9): [True: 0, False: 2]
  ------------------
 1587|      0|        upx_uint64_t cpr_mod_init_func(0);
 1588|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1589|      0|        Mach_segment_command const *rc = rawmseg;
 1590|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1591|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1592|      0|        for (
 1593|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1594|      0|            k < ncmds;
  ------------------
  |  Branch (1594:13): [True: 0, False: 0]
  ------------------
 1595|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1596|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1597|      0|        ) {
 1598|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1598:17): [True: 0, False: 0]
  ------------------
 1599|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1599:17): [True: 0, False: 0]
  ------------------
 1600|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1600:21): [True: 0, False: 0]
  ------------------
 1601|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1602|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1603|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1604|      0|                }
 1605|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1606|      0|                if (fo)
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1608|      0|                unsigned const len = rc->filesize;
 1609|      0|                MemBuffer data(len);
 1610|      0|                fi->readx(data, len);
 1611|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1611:21): [True: 0, False: 0]
  ------------------
 1612|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1613|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1613:25): [True: 0, False: 0]
  |  Branch (1613:60): [True: 0, False: 0]
  ------------------
 1614|      0|                        throwCantUnpack("bad __mod_init_func");
 1615|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1616|      0|                }
 1617|      0|                if (fo)
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    fo->write(data, len);
 1619|      0|            }
 1620|      0|        }
 1621|      0|    }
 1622|      2|    else
 1623|      2|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1623:26): [True: 0, False: 2]
  ------------------
 1624|      0|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1625|      0|        if (size) {
  ------------------
  |  Branch (1625:13): [True: 0, False: 0]
  ------------------
 1626|      0|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1627|      0|            if (fo)
  ------------------
  |  Branch (1627:17): [True: 0, False: 0]
  ------------------
 1628|      0|                fo->seek(where, SEEK_SET);
 1629|      0|            unpackExtent(size, fo,
 1630|      0|                c_adler, u_adler, false, sizeof(bhdr));
 1631|      0|        }
 1632|      0|    }
 1633|      2|}
_ZN12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1638|  9.19k|{
 1639|  9.19k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1640|  9.19k|    fi->seek(0, SEEK_SET);
 1641|  9.19k|    fi->readx(&mhdri, sizeof(mhdri));
 1642|       |
 1643|  9.19k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1643:9): [True: 7.57k, False: 1.61k]
  ------------------
 1644|  1.61k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1644:9): [True: 783, False: 836]
  ------------------
 1645|    836|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1645:9): [True: 45, False: 791]
  ------------------
 1646|  9.19k|    )
 1647|  8.40k|        return false;
 1648|    791|    my_cpusubtype = mhdri.cpusubtype;
 1649|       |
 1650|    791|    unsigned const ncmds = mhdri.ncmds;
 1651|    791|    int headway = (int)mhdri.sizeofcmds;
 1652|    791|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|    790|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1652:9): [True: 1, False: 790]
  |  Branch (1652:19): [True: 38, False: 752]
  |  Branch (1652:41): [True: 3, False: 749]
  ------------------
 1653|    749|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1653:10): [True: 30, False: 719]
  ------------------
 1654|     72|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     72|#define snprintf  upx_safe_snprintf
  ------------------
 1655|     72|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1656|     72|        throwCantUnpack(msg);
 1657|     72|    }
 1658|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1659|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1660|    719|    if ((2 == ncmds
  ------------------
  |  Branch (1660:10): [True: 21, False: 698]
  ------------------
 1661|     21|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1661:12): [True: 1, False: 20]
  ------------------
 1662|    718|    ||  (3 <= ncmds
  ------------------
  |  Branch (1662:10): [True: 674, False: 44]
  ------------------
 1663|    674|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1663:12): [True: 9, False: 665]
  ------------------
 1664|    674|                    + sizeof(Mach_main_command)))) {
 1665|     10|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1666|     10|        throwCantUnpack("file corrupted");
 1667|     10|    }
 1668|    709|    sz_mach_headers = headway + sizeof(mhdri);
 1669|    709|    if (2048 < headway) {
  ------------------
  |  Branch (1669:9): [True: 27, False: 682]
  ------------------
 1670|     27|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1671|     27|    }
 1672|    709|    if (!headway) {
  ------------------
  |  Branch (1672:9): [True: 0, False: 709]
  ------------------
 1673|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1674|      0|    }
 1675|    709|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1676|    709|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1677|    709|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1678|       |
 1679|    709|    Mach_segment_command const *ptrTEXT = nullptr;
 1680|    709|    upx_uint64_t rip = 0;
 1681|    709|    unsigned style = 0;
 1682|    709|    off_t offLINK = 0;
  ------------------
  |  |  216|    709|#define off_t upx_off_t
  ------------------
 1683|    709|    unsigned pos_next = 0;
 1684|    709|    unsigned nseg = 0;
 1685|    709|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1686|  3.57k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1686:25): [True: 3.15k, False: 415]
  ------------------
 1687|  3.15k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1688|  3.15k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1688:13): [True: 2, False: 3.15k]
  ------------------
 1689|      2|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      2|#define snprintf  upx_safe_snprintf
  ------------------
 1690|      2|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1691|      2|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1692|      2|            throwCantPack(buf);
 1693|      2|        }
 1694|  3.15k|        unsigned const cmd = ptr->cmd;
 1695|  3.15k|        unsigned const cmdsize = ptr->cmdsize;
 1696|  3.15k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1696:13): [True: 238, False: 2.91k]
  ------------------
 1697|    238|                opt->info_mode += 1;
 1698|    238|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1699|    238|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1700|    238|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1701|    238|                opt->info_mode -= 1;
 1702|    238|                throwCantUnpack("file corrupted");
 1703|    238|        }
 1704|  2.91k|        headway -= cmdsize;
 1705|  2.91k|        if (headway < 0) {
  ------------------
  |  Branch (1705:13): [True: 0, False: 2.91k]
  ------------------
 1706|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1707|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1708|      0|                (unsigned)ptr->cmdsize);
 1709|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1710|      0|        }
 1711|  2.91k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1711:13): [True: 1.55k, False: 1.36k]
  ------------------
 1712|  1.55k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1713|  1.55k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1713:17): [True: 25, False: 1.52k]
  ------------------
 1714|  1.52k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1714:17): [True: 25, False: 1.50k]
  ------------------
 1715|  1.50k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1715:17): [True: 4, False: 1.49k]
  ------------------
 1716|     54|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1717|     54|                      "  filesize=0x%lx  fileoff=0x%lx",
 1718|     54|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1719|     54|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1720|     54|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1721|     54|                throwCantUnpack("file corrupted");
 1722|     54|            }
 1723|  1.49k|            ++nseg;
 1724|  1.49k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1724:17): [True: 38, False: 1.45k]
  ------------------
 1725|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1726|     38|                style = 391;  // UPX 3.91
 1727|     38|            }
 1728|  1.49k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1728:17): [True: 103, False: 1.39k]
  ------------------
 1729|    103|                ptrTEXT = segptr;
 1730|    103|                style = 391;  // UPX 3.91
 1731|    103|            }
 1732|  1.49k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1732:17): [True: 51, False: 1.44k]
  ------------------
 1733|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1734|     51|                style = 392;  // UPX 3.92
 1735|     51|            }
 1736|  1.49k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1736:17): [True: 512, False: 985]
  ------------------
 1737|    512|                offLINK = segptr->fileoff;
 1738|    512|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1738:21): [True: 67, False: 445]
  ------------------
 1739|     67|                    style = 395;
 1740|     67|                }
 1741|    512|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1741:21): [True: 131, False: 381]
  ------------------
 1742|    131|                    offLINK = pos_next;
 1743|    131|                }
 1744|    512|            }
 1745|  1.49k|            pos_next = segptr->filesize + segptr->fileoff;
 1746|  1.49k|        }
 1747|  1.36k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1747:18): [True: 699, False: 669]
  ------------------
 1748|    699|            rip = entryVMA = threadc_getPC(ptr);
 1749|    699|        }
 1750|  2.91k|    }
 1751|    415|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1751:9): [True: 348, False: 67]
  |  Branch (1751:20): [True: 325, False: 23]
  ------------------
 1752|    325|        style = 392;
 1753|    325|    }
 1754|    415|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1754:9): [True: 6, False: 409]
  |  Branch (1754:23): [True: 4, False: 2]
  |  Branch (1754:37): [True: 3, False: 1]
  |  Branch (1754:49): [True: 2, False: 1]
  ------------------
 1755|      2|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1756|      2|    }
 1757|    415|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1757:9): [True: 14, False: 401]
  |  Branch (1757:23): [True: 16, False: 385]
  ------------------
 1758|     26|        return false;
 1759|     26|    }
 1760|       |
 1761|    389|    int const small = 32 + sizeof(overlay_offset);
 1762|    389|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1763|    389|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1763:9): [True: 3, False: 386]
  ------------------
 1764|      3|        fi->seek(offLINK - bufsize, SEEK_SET);
 1765|      3|    } else
 1766|    386|    if (392 == style) {
  ------------------
  |  Branch (1766:9): [True: 331, False: 55]
  ------------------
 1767|    331|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1767:13): [True: 10, False: 321]
  ------------------
 1768|     10|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1769|     10|        }
 1770|    321|        else { // PackHeader follows loader at __LINKEDIT
 1771|    321|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1771:17): [True: 238, False: 83]
  ------------------
 1772|    238|                bufsize = fi->st_size() - offLINK;
 1773|    238|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1773:21): [True: 3, False: 235]
  ------------------
 1774|      3|                    throwCantUnpack("bad offLINK %p %p",
 1775|      3|                        (void *)offLINK, (void *)file_size);
 1776|      3|                }
 1777|    238|            }
 1778|    318|            fi->seek(offLINK, SEEK_SET);
 1779|    318|        }
 1780|    331|    } else
 1781|     55|    if (395 == style) {
  ------------------
  |  Branch (1781:9): [True: 51, False: 4]
  ------------------
 1782|     51|        fi->seek(offLINK - bufsize, SEEK_SET);
 1783|     51|    }
 1784|    386|    MemBuffer buf(bufsize);
 1785|    386|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1786|    386|    buf3.clear();
 1787|       |
 1788|    386|    fi->readx(buf, bufsize);
 1789|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1790|       |
 1791|    386|    int i = bufsize;
 1792|  26.0k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1792:12): [True: 25.8k, False: 131]
  |  Branch (1792:25): [True: 25.6k, False: 255]
  ------------------
 1793|    386|    i -= small;
 1794|       |    // allow incompressible extents
 1795|    386|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1795:9): [True: 133, False: 253]
  |  Branch (1795:18): [True: 253, False: 0]
  ------------------
 1796|       |        // Breadcrumbs failed.
 1797|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1798|    372|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1798:38): [True: 76, False: 296]
  ------------------
 1799|    372|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1799:13): [True: 76, False: 296]
  |  Branch (1799:24): [True: 71, False: 5]
  |  Branch (1799:31): [True: 2, False: 69]
  ------------------
 1800|      2|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1801|      2|            fi->readx(buf3, bufsize);
 1802|      2|            unsigned char const *b = &buf3[0];
 1803|      2|            unsigned disp = *(TE32 const *)&b[1];
 1804|      2|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1804:17): [True: 0, False: 2]
  ------------------
 1805|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1805:21): [True: 0, False: 0]
  |  Branch (1805:35): [True: 0, False: 0]
  ------------------
 1806|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1807|       |                    // searching for "executable_path=" etc.
 1808|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1808:21): [True: 0, False: 0]
  |  Branch (1808:40): [True: 0, False: 0]
  ------------------
 1809|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1810|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1810:25): [True: 0, False: 0]
  |  Branch (1810:46): [True: 0, False: 0]
  ------------------
 1811|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1812|       |                        // This is the folded stub.
 1813|       |                        // FIXME: check b_method?
 1814|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1814:29): [True: 0, False: 0]
  |  Branch (1814:60): [True: 0, False: 0]
  ------------------
 1815|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1816|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1817|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1818|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1818:33): [True: 0, False: 0]
  ------------------
 1819|      0|                                return true;  // success
 1820|      0|                            }
 1821|      0|                            overlay_offset = 0;  // failure
 1822|      0|                        }
 1823|      0|                    }
 1824|      0|                }
 1825|      0|            }
 1826|      2|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1826:17): [True: 0, False: 2]
  ------------------
 1827|      0|                infoWarning("file corrupted: %s", fi->getName());
 1828|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1829|      0|                fi->readx(buf3, bufsize);
 1830|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1831|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1831:24): [True: 0, False: 0]
  ------------------
 1832|      0|                    unsigned x = *p;
 1833|      0|                    if (x) {
  ------------------
  |  Branch (1833:25): [True: 0, False: 0]
  ------------------
 1834|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1834:29): [True: 0, False: 0]
  |  Branch (1834:40): [True: 0, False: 0]
  ------------------
 1835|      0|                            fi->seek(0, SEEK_SET);
 1836|      0|                            fi->readx(buf3, bufsize);
 1837|      0|                            p = (unsigned const *)&buf3[x];
 1838|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1838:33): [True: 0, False: 0]
  |  Branch (1838:46): [True: 0, False: 0]
  |  Branch (1838:59): [True: 0, False: 0]
  ------------------
 1839|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1839:33): [True: 0, False: 0]
  |  Branch (1839:59): [True: 0, False: 0]
  ------------------
 1840|      0|                            ) {
 1841|      0|                                overlay_offset = x;
 1842|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1843|      0|                                    overlay_offset);
 1844|      0|                                return true;
 1845|      0|                            }
 1846|      0|                        }
 1847|      0|                        break;
 1848|      0|                    }
 1849|      0|                }
 1850|      0|            }
 1851|      2|        }
 1852|    372|        if (391==style) {
  ------------------
  |  Branch (1852:13): [True: 1, False: 371]
  ------------------
 1853|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1854|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1854:20): [True: 0, False: 1]
  ------------------
 1855|      1|            overlay_offset = *uptr;
 1856|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1856:17): [True: 0, False: 1]
  |  Branch (1856:55): [True: 0, False: 0]
  ------------------
 1857|      0|                return true;  // success
 1858|      0|            }
 1859|      1|            overlay_offset = 0;
 1860|      1|            return false;
 1861|      1|        }
 1862|    371|        if (392==style) {
  ------------------
  |  Branch (1862:13): [True: 325, False: 46]
  ------------------
 1863|    325|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1864|       |            // p_info isn't used for execution, so it has less value for checking:
 1865|       |            //      0== .p_progid
 1866|       |            //      .p_filesize == .p_blocksize
 1867|    325|            fi->seek(overlay_offset, SEEK_SET);
 1868|    325|            fi->readx(buf3, bufsize);
 1869|    325|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1870|    325|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1871|    325|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1872|    325|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1872:17): [True: 182, False: 143]
  ------------------
 1873|    182|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1873:17): [True: 40, False: 142]
  ------------------
 1874|     40|                unsigned const method = b_ptr->b_method;
 1875|     40|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     40|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     36|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1875:22): [True: 4, False: 36]
  |  Branch (1875:48): [True: 2, False: 34]
  ------------------
 1876|      6|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1876:21): [True: 1, False: 5]
  ------------------
 1877|      1|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1877:21): [True: 0, False: 1]
  ------------------
 1878|      0|                    return true;
 1879|      0|                }
 1880|     40|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1881|     40|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     40|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     29|#define M_NRV2E_8     9
  ------------------
  |  Branch (1881:22): [True: 11, False: 29]
  |  Branch (1881:45): [True: 1, False: 28]
  ------------------
 1882|     12|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1882:20): [True: 2, False: 10]
  ------------------
 1883|      2|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1883:21): [True: 1, False: 1]
  ------------------
 1884|      1|                    return true;
 1885|      1|                }
 1886|       |                // FIXME: M_LZMA
 1887|     40|            }
 1888|       |
 1889|    324|            overlay_offset = 0;
 1890|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1891|       |            // is the total length of compressed data which precedes it
 1892|       |            //(distance to l_info), so that's another method.
 1893|    324|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1894|    324|            fi->readx(buf3, 0x1000);
 1895|    324|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1896|    324|            unsigned const *p;
 1897|  57.5k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1897:55): [True: 57.4k, False: 149]
  |  Branch (1897:69): [True: 1.75k, False: 55.6k]
  ------------------
 1898|  1.75k|                overlay_offset  = *(TE32 const *)p;
 1899|  1.75k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:21): [True: 87, False: 1.66k]
  ------------------
 1900|     87|                    throwCantUnpack("file corrupted");
 1901|  1.66k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1901:21): [True: 1.27k, False: 391]
  ------------------
 1902|  1.27k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1903|  1.27k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1904|  1.27k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1904:25): [True: 14, False: 1.26k]
  ------------------
 1905|     14|                        throwCantUnpack("file corrupted");
 1906|  1.26k|                    fi->seek(overlay_offset, SEEK_SET);
 1907|  1.26k|                    fi->readx(buf3, bufsize);
 1908|  1.26k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1908:25): [True: 586, False: 676]
  ------------------
 1909|    586|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1909:25): [True: 74, False: 512]
  ------------------
 1910|     74|                        return true;
 1911|     74|                    }
 1912|  1.26k|                }
 1913|  1.66k|            }
 1914|    324|        }
 1915|    371|    }
 1916|       |
 1917|    209|    overlay_offset = 0;  // impossible value
 1918|    209|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1919|    209|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1919:9): [True: 95, False: 114]
  |  Branch (1919:19): [True: 95, False: 0]
  ------------------
 1920|     95|        overlay_offset = get_te32(buf + i + l);
 1921|     95|    }
 1922|    209|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1922:16): [True: 133, False: 76]
  ------------------
 1923|     82|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1923:9): [True: 63, False: 13]
  ------------------
 1924|     82|        infoWarning("file corrupted: %s", fi->getName());
 1925|     82|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1926|     82|        fi->seek(sz_mach_headers, SEEK_SET);
 1927|     82|        fi->readx(buf2, buf2.getSize());
 1928|     82|        unsigned const *p = (unsigned const *)&buf2[0];
 1929|     82|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1930|   268k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1930:16): [True: 268k, False: 63]
  ------------------
 1931|   268k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1931:16): [True: 125k, False: 142k]
  ------------------
 1932|   125k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1932:16): [True: 14.8k, False: 110k]
  ------------------
 1933|  14.8k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1933:13): [True: 1.54k, False: 13.2k]
  ------------------
 1934|  1.54k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1934:13): [True: 938, False: 608]
  ------------------
 1935|    938|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1935:13): [True: 38, False: 900]
  ------------------
 1936|   268k|        ) {
 1937|     38|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1938|     38|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1938:19): [True: 19, False: 19]
  ------------------
 1939|     19|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:31): [True: 0, False: 19]
  ------------------
 1940|     19|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1940:24): [True: 0, False: 19]
  ------------------
 1941|     19|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1942|     19|                return true;
 1943|     19|            }
 1944|     38|        }
 1945|     63|        throwCantUnpack("file corrupted");
 1946|     82|    }
 1947|    127|    return true;
 1948|    209|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjjjj:
  219|  14.1k|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|  14.1k|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|  14.1k|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|  14.1k|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|  14.1k|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|  14.1k|{
  225|  14.1k|    MachClass::compileTimeAssertions();
  226|  14.1k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|  14.1k|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|  14.1k|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|  14.1k|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|  14.1k|    memset(&linkitem, 0, sizeof(linkitem));
  231|  14.1k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
  235|  14.1k|{
  236|  14.1k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE6unpackEP10OutputFile:
 1476|    700|{
 1477|    700|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1478|    700|    fi->seek(0, SEEK_SET);
 1479|    700|    fi->readx(&mhdri, sizeof(mhdri));
 1480|    700|    if ((MH_MAGIC + (sizeof(Addr)>>3)) != mhdri.magic
  ------------------
  |  Branch (1480:9): [True: 0, False: 700]
  ------------------
 1481|      0|    &&  Mach_fat_header::FAT_MAGIC != mhdri.magic) {
  ------------------
  |  Branch (1481:9): [True: 0, False: 0]
  ------------------
 1482|      0|        throwCantUnpack("file header corrupted");
 1483|      0|    }
 1484|    700|    unsigned const sz_cmds = mhdri.sizeofcmds;
 1485|    700|    if ((sizeof(mhdri) + sz_cmds) > (size_t)fi->st_size()) {
  ------------------
  |  Branch (1485:9): [True: 2, False: 698]
  ------------------
 1486|      2|        throwCantUnpack("file header corrupted");
 1487|      2|    }
 1488|    698|    rawmseg_buf.dealloc();  // discard "same" contents from ::canUnpack()
 1489|    698|    rawmseg_buf.alloc(sz_cmds);
 1490|    698|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1491|    698|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1492|       |
 1493|       |    // FIXME forgot space left for LC_CODE_SIGNATURE;
 1494|       |    // but canUnpack() sets overlay_offset anyway.
 1495|       |    //overlay_offset = sizeof(mhdri) + mhdri.sizeofcmds + sizeof(linfo);
 1496|       |
 1497|    698|    fi->seek(overlay_offset, SEEK_SET);
 1498|    698|    p_info hbuf;
 1499|    698|    fi->readx(&hbuf, sizeof(hbuf));
 1500|    698|    unsigned const orig_file_size = get_te32(&hbuf.p_filesize);
 1501|    698|    blocksize = get_te32(&hbuf.p_blocksize);  // emacs-21.2.1 was 0x01d47e6c (== 30703212)
 1502|    698|    if (blocksize > orig_file_size || blocksize > UPX_RSIZE_MAX_MEM)
  ------------------
  |  |  170|    677|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  ------------------
  |  Branch (1502:9): [True: 21, False: 677]
  |  Branch (1502:39): [True: 16, False: 661]
  ------------------
 1503|     36|        throwCantUnpack("file header corrupted");
 1504|    662|    if (file_size > (off_t)orig_file_size) {
  ------------------
  |  Branch (1504:9): [True: 45, False: 617]
  ------------------
 1505|     45|        opt->info_mode += !opt->info_mode ? 1 : 0;  // make visible
  ------------------
  |  Branch (1505:27): [True: 45, False: 0]
  ------------------
 1506|     45|        opt->backup = 1;
 1507|     45|        infoWarning("packed size too big; discarding appended data, keeping backup");
 1508|     45|    }
 1509|       |
 1510|    662|    ibuf.alloc(blocksize + OVERHEAD);
 1511|    662|    b_info bhdr; memset(&bhdr, 0, sizeof(bhdr));
 1512|    662|    fi->readx(&bhdr, sizeof(bhdr));
 1513|    662|    ph.u_len = get_te32(&bhdr.sz_unc);
 1514|    662|    ph.c_len = get_te32(&bhdr.sz_cpr);
 1515|    662|    if ((unsigned)file_size < ph.c_len || ph.c_len == 0 || ph.u_len == 0)
  ------------------
  |  Branch (1515:9): [True: 69, False: 593]
  |  Branch (1515:43): [True: 25, False: 568]
  |  Branch (1515:60): [True: 3, False: 565]
  ------------------
 1516|     87|        throwCantUnpack("file header corrupted");
 1517|    575|    ph.method = bhdr.b_method;
 1518|    575|    if (ph.method < M_NRV2B_LE32
  ------------------
  |  |  614|  1.15k|#define M_NRV2B_LE32  2
  ------------------
  |  Branch (1518:9): [True: 33, False: 542]
  ------------------
 1519|    542|    ||  ph.method > M_BZIP2)
  ------------------
  |  |  629|    542|#define M_BZIP2       17 // NOT YET USED
  ------------------
  |  Branch (1519:9): [True: 17, False: 525]
  ------------------
 1520|     40|        throwCantUnpack("file header bad method");
 1521|    535|    ph.filter = bhdr.b_ftid;
 1522|    535|    ph.filter_cto = bhdr.b_cto8;
 1523|       |
 1524|       |    // Uncompress Macho headers
 1525|    535|    fi->readx(ibuf, ph.c_len);
 1526|    535|    MemBuffer mhdr_buf(ph.u_len);
 1527|    535|    Mach_header *const mhdr = (Mach_header *)mhdr_buf.getVoidPtr();
 1528|    535|    decompress(ibuf, (upx_byte *)mhdr, false);
 1529|    535|    if (mhdri.magic      != mhdr->magic
  ------------------
  |  Branch (1529:9): [True: 523, False: 12]
  ------------------
 1530|     12|    ||  mhdri.cputype    != mhdr->cputype
  ------------------
  |  Branch (1530:9): [True: 0, False: 12]
  ------------------
 1531|     12|    ||  mhdri.cpusubtype != mhdr->cpusubtype
  ------------------
  |  Branch (1531:9): [True: 1, False: 11]
  ------------------
 1532|     11|    ||  mhdri.filetype   != mhdr->filetype)
  ------------------
  |  Branch (1532:9): [True: 0, False: 11]
  ------------------
 1533|      4|        throwCantUnpack("file header corrupted");
 1534|    531|    unsigned const ncmds = mhdr->ncmds;
 1535|    531|    if (!ncmds || MAX_N_CMDS < ncmds) { // arbitrary limit
  ------------------
  |  | 1472|     11|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1535:9): [True: 520, False: 11]
  |  Branch (1535:19): [True: 0, False: 11]
  ------------------
 1536|      0|        char msg[40]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1537|      0|            "bad Mach_header.ncmds = %d", ncmds);
 1538|      0|        throwCantUnpack(msg);
 1539|      0|    }
 1540|       |
 1541|    531|    msegcmd_buf.alloc(sizeof(Mach_segment_command) * ncmds);
 1542|    531|    msegcmd = (Mach_segment_command *)msegcmd_buf.getVoidPtr();
 1543|    531|    unsigned char const *ptr = (unsigned char const *)(1+mhdr);
 1544|    531|    unsigned headway = mhdr_buf.getSize() - sizeof(*mhdr);
 1545|    687|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1545:25): [True: 156, False: 531]
  ------------------
 1546|    156|        unsigned cmdsize = ((Mach_command const *)ptr)->cmdsize;
 1547|    156|        if (is_bad_linker_command( ((Mach_command const *)ptr)->cmd, cmdsize,
  ------------------
  |  Branch (1547:13): [True: 0, False: 156]
  ------------------
 1548|    156|                headway, lc_seg, sizeof(Addr))) {
 1549|      0|            char msg[50]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1550|      0|                "bad packed Mach load_command @%#x", ptr_udiff_bytes(ptr, mhdr));
 1551|      0|            throwCantUnpack(msg);
 1552|      0|        }
 1553|    156|        memcpy(&msegcmd[j], ptr, upx::umin(usizeof(Mach_segment_command), cmdsize));
  ------------------
  |  |  509|    156|#define usizeof(expr)      (upx::UnsignedSizeOf<sizeof(expr)>::value)
  ------------------
 1554|    156|        headway -= cmdsize;
 1555|    156|        ptr     += cmdsize;
 1556|    156|    }
 1557|       |
 1558|       |    // Put LC_SEGMENT together at the beginning
 1559|    531|    upx_qsort(msegcmd, ncmds, sizeof(*msegcmd), compare_segment_command);
  ------------------
  |  |  220|    531|#define upx_qsort ::qsort
  ------------------
 1560|    531|    n_segment = 0;
 1561|    687|    for (unsigned j= 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1561:25): [True: 156, False: 531]
  ------------------
 1562|    156|        n_segment += (lc_seg==msegcmd[j].cmd);
 1563|    156|    }
 1564|       |
 1565|    531|    total_in = 0;
 1566|    531|    total_out = 0;
 1567|    531|    unsigned c_adler = upx_adler32(nullptr, 0);
 1568|    531|    unsigned u_adler = upx_adler32(nullptr, 0);
 1569|       |
 1570|    531|    fi->seek(- (off_t)(sizeof(bhdr) + ph.c_len), SEEK_CUR);
 1571|    609|    for (unsigned k = 0; k < ncmds; ++k) {
  ------------------
  |  Branch (1571:26): [True: 78, False: 531]
  ------------------
 1572|     78|        if (msegcmd[k].cmd==lc_seg && msegcmd[k].filesize!=0) {
  ------------------
  |  Branch (1572:13): [True: 46, False: 32]
  |  Branch (1572:39): [True: 35, False: 11]
  ------------------
 1573|     35|            if (!strcmp("__TEXT", msegcmd[k].segname)) {
  ------------------
  |  Branch (1573:17): [True: 11, False: 24]
  ------------------
 1574|     11|                segTEXT = msegcmd[k];
 1575|     11|            }
 1576|     35|            if (fo)
  ------------------
  |  Branch (1576:17): [True: 35, False: 0]
  ------------------
 1577|     35|                fo->seek(msegcmd[k].fileoff, SEEK_SET);
 1578|     35|            unpackExtent(msegcmd[k].filesize, fo,
 1579|     35|                c_adler, u_adler, false, sizeof(bhdr));
 1580|     35|            if (my_filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (1580:17): [True: 0, False: 35]
  ------------------
 1581|      0|                break;  // only the first lc_seg when MH_DYLIB
 1582|      0|            }
 1583|     35|        }
 1584|     78|    }
 1585|    531|    Mach_segment_command const *sc = (Mach_segment_command const *)(void *)(1+ mhdr);
 1586|    531|    if (my_filetype==Mach_header::MH_DYLIB) { // rest of lc_seg are not compressed
  ------------------
  |  Branch (1586:9): [True: 0, False: 531]
  ------------------
 1587|      0|        upx_uint64_t cpr_mod_init_func(0);
 1588|      0|                TE32 unc_mod_init_func; *(int *)&unc_mod_init_func = 0;
 1589|      0|        Mach_segment_command const *rc = rawmseg;
 1590|      0|        rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc);
 1591|      0|        sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc);
 1592|      0|        for (
 1593|      0|            unsigned k=1;  // skip first lc_seg, which was uncompressed above
 1594|      0|            k < ncmds;
  ------------------
  |  Branch (1594:13): [True: 0, False: 0]
  ------------------
 1595|      0|            (++k), (sc = (Mach_segment_command const *)(sc->cmdsize + (char const *)sc)),
 1596|      0|                   (rc = (Mach_segment_command const *)(rc->cmdsize + (char const *)rc))
 1597|      0|        ) {
 1598|      0|            if (lc_seg==rc->cmd
  ------------------
  |  Branch (1598:17): [True: 0, False: 0]
  ------------------
 1599|      0|            &&  0!=rc->filesize ) {
  ------------------
  |  Branch (1599:17): [True: 0, False: 0]
  ------------------
 1600|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1600:21): [True: 0, False: 0]
  ------------------
 1601|      0|                    cpr_mod_init_func = get_mod_init_func(rc);
 1602|      0|                    fi->seek(cpr_mod_init_func - 4*sizeof(TE32), SEEK_SET);
 1603|      0|                    fi->readx(&unc_mod_init_func, sizeof(unc_mod_init_func));
 1604|      0|                }
 1605|      0|                fi->seek(rc->fileoff, SEEK_SET);
 1606|      0|                if (fo)
  ------------------
  |  Branch (1606:21): [True: 0, False: 0]
  ------------------
 1607|      0|                    fo->seek(sc->fileoff, SEEK_SET);
 1608|      0|                unsigned const len = rc->filesize;
 1609|      0|                MemBuffer data(len);
 1610|      0|                fi->readx(data, len);
 1611|      0|                if (!strcmp("__DATA", rc->segname)) {
  ------------------
  |  Branch (1611:21): [True: 0, False: 0]
  ------------------
 1612|      0|                    unsigned const mif_off = o__mod_init_func - rc->fileoff;
 1613|      0|                    if (sizeof(unc_mod_init_func) > len || mif_off > len - sizeof(unc_mod_init_func))
  ------------------
  |  Branch (1613:25): [True: 0, False: 0]
  |  Branch (1613:60): [True: 0, False: 0]
  ------------------
 1614|      0|                        throwCantUnpack("bad __mod_init_func");
 1615|      0|                    set_te32(&data[mif_off], unc_mod_init_func);
 1616|      0|                }
 1617|      0|                if (fo)
  ------------------
  |  Branch (1617:21): [True: 0, False: 0]
  ------------------
 1618|      0|                    fo->write(data, len);
 1619|      0|            }
 1620|      0|        }
 1621|      0|    }
 1622|    531|    else
 1623|    564|    for (unsigned j = 0; j < ncmds; ++j) {
  ------------------
  |  Branch (1623:26): [True: 33, False: 531]
  ------------------
 1624|     33|        unsigned const size = find_SEGMENT_gap(j, orig_file_size);
 1625|     33|        if (size) {
  ------------------
  |  Branch (1625:13): [True: 7, False: 26]
  ------------------
 1626|      7|            unsigned const where = msegcmd[j].fileoff +msegcmd[j].filesize;
 1627|      7|            if (fo)
  ------------------
  |  Branch (1627:17): [True: 7, False: 0]
  ------------------
 1628|      7|                fo->seek(where, SEEK_SET);
 1629|      7|            unpackExtent(size, fo,
 1630|      7|                c_adler, u_adler, false, sizeof(bhdr));
 1631|      7|        }
 1632|     33|    }
 1633|    531|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
 1638|  14.1k|{
 1639|  14.1k|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1640|  14.1k|    fi->seek(0, SEEK_SET);
 1641|  14.1k|    fi->readx(&mhdri, sizeof(mhdri));
 1642|       |
 1643|  14.1k|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1643:9): [True: 8.92k, False: 5.21k]
  ------------------
 1644|  5.21k|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1644:9): [True: 2.49k, False: 2.71k]
  ------------------
 1645|  2.71k|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1645:9): [True: 838, False: 1.88k]
  ------------------
 1646|  14.1k|    )
 1647|  12.2k|        return false;
 1648|  1.88k|    my_cpusubtype = mhdri.cpusubtype;
 1649|       |
 1650|  1.88k|    unsigned const ncmds = mhdri.ncmds;
 1651|  1.88k|    int headway = (int)mhdri.sizeofcmds;
 1652|  1.88k|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|  1.88k|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1652:9): [True: 1, False: 1.88k]
  |  Branch (1652:19): [True: 46, False: 1.83k]
  |  Branch (1652:41): [True: 25, False: 1.80k]
  ------------------
 1653|  1.80k|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1653:10): [True: 42, False: 1.76k]
  ------------------
 1654|    114|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|    114|#define snprintf  upx_safe_snprintf
  ------------------
 1655|    114|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1656|    114|        throwCantUnpack(msg);
 1657|    114|    }
 1658|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1659|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1660|  1.76k|    if ((2 == ncmds
  ------------------
  |  Branch (1660:10): [True: 20, False: 1.74k]
  ------------------
 1661|     20|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1661:12): [True: 2, False: 18]
  ------------------
 1662|  1.76k|    ||  (3 <= ncmds
  ------------------
  |  Branch (1662:10): [True: 1.74k, False: 23]
  ------------------
 1663|  1.74k|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1663:12): [True: 3, False: 1.73k]
  ------------------
 1664|  1.74k|                    + sizeof(Mach_main_command)))) {
 1665|      5|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1666|      5|        throwCantUnpack("file corrupted");
 1667|      5|    }
 1668|  1.76k|    sz_mach_headers = headway + sizeof(mhdri);
 1669|  1.76k|    if (2048 < headway) {
  ------------------
  |  Branch (1669:9): [True: 77, False: 1.68k]
  ------------------
 1670|     77|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1671|     77|    }
 1672|  1.76k|    if (!headway) {
  ------------------
  |  Branch (1672:9): [True: 0, False: 1.76k]
  ------------------
 1673|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1674|      0|    }
 1675|  1.76k|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1676|  1.76k|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1677|  1.76k|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1678|       |
 1679|  1.76k|    Mach_segment_command const *ptrTEXT = nullptr;
 1680|  1.76k|    upx_uint64_t rip = 0;
 1681|  1.76k|    unsigned style = 0;
 1682|  1.76k|    off_t offLINK = 0;
  ------------------
  |  |  216|  1.76k|#define off_t upx_off_t
  ------------------
 1683|  1.76k|    unsigned pos_next = 0;
 1684|  1.76k|    unsigned nseg = 0;
 1685|  1.76k|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1686|  10.6k|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1686:25): [True: 9.29k, False: 1.39k]
  ------------------
 1687|  9.29k|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1688|  9.29k|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1688:13): [True: 14, False: 9.28k]
  ------------------
 1689|     14|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|     14|#define snprintf  upx_safe_snprintf
  ------------------
 1690|     14|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1691|     14|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1692|     14|            throwCantPack(buf);
 1693|     14|        }
 1694|  9.28k|        unsigned const cmd = ptr->cmd;
 1695|  9.28k|        unsigned const cmdsize = ptr->cmdsize;
 1696|  9.28k|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1696:13): [True: 184, False: 9.10k]
  ------------------
 1697|    184|                opt->info_mode += 1;
 1698|    184|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1699|    184|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1700|    184|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1701|    184|                opt->info_mode -= 1;
 1702|    184|                throwCantUnpack("file corrupted");
 1703|    184|        }
 1704|  9.10k|        headway -= cmdsize;
 1705|  9.10k|        if (headway < 0) {
  ------------------
  |  Branch (1705:13): [True: 0, False: 9.10k]
  ------------------
 1706|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1707|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1708|      0|                (unsigned)ptr->cmdsize);
 1709|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1710|      0|        }
 1711|  9.10k|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1711:13): [True: 4.64k, False: 4.45k]
  ------------------
 1712|  4.64k|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1713|  4.64k|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1713:17): [True: 83, False: 4.56k]
  ------------------
 1714|  4.56k|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1714:17): [True: 82, False: 4.48k]
  ------------------
 1715|  4.48k|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1715:17): [True: 3, False: 4.48k]
  ------------------
 1716|    168|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1717|    168|                      "  filesize=0x%lx  fileoff=0x%lx",
 1718|    168|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1719|    168|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1720|    168|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1721|    168|                throwCantUnpack("file corrupted");
 1722|    168|            }
 1723|  4.48k|            ++nseg;
 1724|  4.48k|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1724:17): [True: 37, False: 4.44k]
  ------------------
 1725|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1726|     37|                style = 391;  // UPX 3.91
 1727|     37|            }
 1728|  4.48k|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1728:17): [True: 483, False: 3.99k]
  ------------------
 1729|    483|                ptrTEXT = segptr;
 1730|    483|                style = 391;  // UPX 3.91
 1731|    483|            }
 1732|  4.48k|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1732:17): [True: 7, False: 4.47k]
  ------------------
 1733|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1734|      7|                style = 392;  // UPX 3.92
 1735|      7|            }
 1736|  4.48k|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1736:17): [True: 1.39k, False: 3.08k]
  ------------------
 1737|  1.39k|                offLINK = segptr->fileoff;
 1738|  1.39k|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1738:21): [True: 67, False: 1.32k]
  ------------------
 1739|     67|                    style = 395;
 1740|     67|                }
 1741|  1.39k|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1741:21): [True: 966, False: 429]
  ------------------
 1742|    966|                    offLINK = pos_next;
 1743|    966|                }
 1744|  1.39k|            }
 1745|  4.48k|            pos_next = segptr->filesize + segptr->fileoff;
 1746|  4.48k|        }
 1747|  4.45k|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1747:18): [True: 709, False: 3.74k]
  ------------------
 1748|    709|            rip = entryVMA = threadc_getPC(ptr);
 1749|    709|        }
 1750|  9.10k|    }
 1751|  1.39k|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1751:9): [True: 1.35k, False: 44]
  |  Branch (1751:20): [True: 1.30k, False: 49]
  ------------------
 1752|  1.30k|        style = 392;
 1753|  1.30k|    }
 1754|  1.39k|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1754:9): [True: 23, False: 1.37k]
  |  Branch (1754:23): [True: 20, False: 3]
  |  Branch (1754:37): [True: 9, False: 11]
  |  Branch (1754:49): [True: 6, False: 3]
  ------------------
 1755|      6|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1756|      6|    }
 1757|  1.39k|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1757:9): [True: 20, False: 1.37k]
  |  Branch (1757:23): [True: 51, False: 1.32k]
  ------------------
 1758|     61|        return false;
 1759|     61|    }
 1760|       |
 1761|  1.33k|    int const small = 32 + sizeof(overlay_offset);
 1762|  1.33k|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1763|  1.33k|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1763:9): [True: 6, False: 1.32k]
  ------------------
 1764|      6|        fi->seek(offLINK - bufsize, SEEK_SET);
 1765|      6|    } else
 1766|  1.32k|    if (392 == style) {
  ------------------
  |  Branch (1766:9): [True: 1.26k, False: 60]
  ------------------
 1767|  1.26k|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1767:13): [True: 32, False: 1.23k]
  ------------------
 1768|     32|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1769|     32|        }
 1770|  1.23k|        else { // PackHeader follows loader at __LINKEDIT
 1771|  1.23k|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1771:17): [True: 1.21k, False: 25]
  ------------------
 1772|  1.21k|                bufsize = fi->st_size() - offLINK;
 1773|  1.21k|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1773:21): [True: 3, False: 1.20k]
  ------------------
 1774|      3|                    throwCantUnpack("bad offLINK %p %p",
 1775|      3|                        (void *)offLINK, (void *)file_size);
 1776|      3|                }
 1777|  1.21k|            }
 1778|  1.23k|            fi->seek(offLINK, SEEK_SET);
 1779|  1.23k|        }
 1780|  1.26k|    } else
 1781|     60|    if (395 == style) {
  ------------------
  |  Branch (1781:9): [True: 50, False: 10]
  ------------------
 1782|     50|        fi->seek(offLINK - bufsize, SEEK_SET);
 1783|     50|    }
 1784|  1.33k|    MemBuffer buf(bufsize);
 1785|  1.33k|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1786|  1.33k|    buf3.clear();
 1787|       |
 1788|  1.33k|    fi->readx(buf, bufsize);
 1789|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1790|       |
 1791|  1.33k|    int i = bufsize;
 1792|   153k|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1792:12): [True: 153k, False: 186]
  |  Branch (1792:25): [True: 152k, False: 1.14k]
  ------------------
 1793|  1.33k|    i -= small;
 1794|       |    // allow incompressible extents
 1795|  1.33k|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1795:9): [True: 188, False: 1.14k]
  |  Branch (1795:18): [True: 441, False: 703]
  ------------------
 1796|       |        // Breadcrumbs failed.
 1797|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1798|    608|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1798:38): [True: 397, False: 211]
  ------------------
 1799|    608|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1799:13): [True: 397, False: 211]
  |  Branch (1799:24): [True: 381, False: 16]
  |  Branch (1799:31): [True: 216, False: 165]
  ------------------
 1800|    216|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1801|    216|            fi->readx(buf3, bufsize);
 1802|    216|            unsigned char const *b = &buf3[0];
 1803|    216|            unsigned disp = *(TE32 const *)&b[1];
 1804|    216|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1804:17): [True: 69, False: 147]
  ------------------
 1805|     69|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1805:21): [True: 61, False: 8]
  |  Branch (1805:35): [True: 14, False: 47]
  ------------------
 1806|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1807|       |                    // searching for "executable_path=" etc.
 1808|     14|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1808:21): [True: 12, False: 2]
  |  Branch (1808:40): [True: 9, False: 3]
  ------------------
 1809|      9|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1810|      9|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1810:25): [True: 1, False: 8]
  |  Branch (1810:46): [True: 0, False: 1]
  ------------------
 1811|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1812|       |                        // This is the folded stub.
 1813|       |                        // FIXME: check b_method?
 1814|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1814:29): [True: 0, False: 0]
  |  Branch (1814:60): [True: 0, False: 0]
  ------------------
 1815|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1816|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1817|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1818|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1818:33): [True: 0, False: 0]
  ------------------
 1819|      0|                                return true;  // success
 1820|      0|                            }
 1821|      0|                            overlay_offset = 0;  // failure
 1822|      0|                        }
 1823|      0|                    }
 1824|      9|                }
 1825|     69|            }
 1826|    216|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1826:17): [True: 1, False: 215]
  ------------------
 1827|      1|                infoWarning("file corrupted: %s", fi->getName());
 1828|      1|                fi->seek(file_size - bufsize, SEEK_SET);
 1829|      1|                fi->readx(buf3, bufsize);
 1830|      1|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1831|      1|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1831:24): [True: 0, False: 1]
  ------------------
 1832|      0|                    unsigned x = *p;
 1833|      0|                    if (x) {
  ------------------
  |  Branch (1833:25): [True: 0, False: 0]
  ------------------
 1834|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1834:29): [True: 0, False: 0]
  |  Branch (1834:40): [True: 0, False: 0]
  ------------------
 1835|      0|                            fi->seek(0, SEEK_SET);
 1836|      0|                            fi->readx(buf3, bufsize);
 1837|      0|                            p = (unsigned const *)&buf3[x];
 1838|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1838:33): [True: 0, False: 0]
  |  Branch (1838:46): [True: 0, False: 0]
  |  Branch (1838:59): [True: 0, False: 0]
  ------------------
 1839|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1839:33): [True: 0, False: 0]
  |  Branch (1839:59): [True: 0, False: 0]
  ------------------
 1840|      0|                            ) {
 1841|      0|                                overlay_offset = x;
 1842|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1843|      0|                                    overlay_offset);
 1844|      0|                                return true;
 1845|      0|                            }
 1846|      0|                        }
 1847|      0|                        break;
 1848|      0|                    }
 1849|      0|                }
 1850|      1|            }
 1851|    216|        }
 1852|    608|        if (391==style) {
  ------------------
  |  Branch (1852:13): [True: 1, False: 607]
  ------------------
 1853|      1|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1854|      1|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1854:20): [True: 0, False: 1]
  ------------------
 1855|      1|            overlay_offset = *uptr;
 1856|      1|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1856:17): [True: 0, False: 1]
  |  Branch (1856:55): [True: 0, False: 0]
  ------------------
 1857|      0|                return true;  // success
 1858|      0|            }
 1859|      1|            overlay_offset = 0;
 1860|      1|            return false;
 1861|      1|        }
 1862|    607|        if (392==style) {
  ------------------
  |  Branch (1862:13): [True: 428, False: 179]
  ------------------
 1863|    428|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1864|       |            // p_info isn't used for execution, so it has less value for checking:
 1865|       |            //      0== .p_progid
 1866|       |            //      .p_filesize == .p_blocksize
 1867|    428|            fi->seek(overlay_offset, SEEK_SET);
 1868|    428|            fi->readx(buf3, bufsize);
 1869|    428|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1870|    428|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1871|    428|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1872|    428|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1872:17): [True: 218, False: 210]
  ------------------
 1873|    218|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1873:17): [True: 67, False: 151]
  ------------------
 1874|     67|                unsigned const method = b_ptr->b_method;
 1875|     67|                if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  614|     67|#define M_NRV2B_LE32  2
  ------------------
                              if ((M_NRV2B_LE32 == method || M_NRV2E_LE32 == method)
  ------------------
  |  |  620|     58|#define M_NRV2E_LE32  8
  ------------------
  |  Branch (1875:22): [True: 9, False: 58]
  |  Branch (1875:48): [True: 7, False: 51]
  ------------------
 1876|     16|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1876:21): [True: 3, False: 13]
  ------------------
 1877|      3|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1877:21): [True: 0, False: 3]
  ------------------
 1878|      0|                    return true;
 1879|      0|                }
 1880|     67|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1881|     67|                if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  615|     67|#define M_NRV2B_8     3
  ------------------
                              if ((M_NRV2B_8 == method || M_NRV2E_8 == method)
  ------------------
  |  |  621|     59|#define M_NRV2E_8     9
  ------------------
  |  Branch (1881:22): [True: 8, False: 59]
  |  Branch (1881:45): [True: 5, False: 54]
  ------------------
 1882|     13|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1882:20): [True: 5, False: 8]
  ------------------
 1883|      5|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1883:21): [True: 1, False: 4]
  ------------------
 1884|      1|                    return true;
 1885|      1|                }
 1886|       |                // FIXME: M_LZMA
 1887|     67|            }
 1888|       |
 1889|    427|            overlay_offset = 0;
 1890|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1891|       |            // is the total length of compressed data which precedes it
 1892|       |            //(distance to l_info), so that's another method.
 1893|    427|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1894|    427|            fi->readx(buf3, 0x1000);
 1895|    427|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1896|    427|            unsigned const *p;
 1897|  75.4k|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1897:55): [True: 75.2k, False: 210]
  |  Branch (1897:69): [True: 2.46k, False: 72.8k]
  ------------------
 1898|  2.46k|                overlay_offset  = *(TE32 const *)p;
 1899|  2.46k|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:21): [True: 149, False: 2.31k]
  ------------------
 1900|    149|                    throwCantUnpack("file corrupted");
 1901|  2.31k|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1901:21): [True: 2.01k, False: 300]
  ------------------
 1902|  2.01k|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1903|  2.01k|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1904|  2.01k|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1904:25): [True: 9, False: 2.00k]
  ------------------
 1905|      9|                        throwCantUnpack("file corrupted");
 1906|  2.00k|                    fi->seek(overlay_offset, SEEK_SET);
 1907|  2.00k|                    fi->readx(buf3, bufsize);
 1908|  2.00k|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1908:25): [True: 833, False: 1.17k]
  ------------------
 1909|    833|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1909:25): [True: 59, False: 774]
  ------------------
 1910|     59|                        return true;
 1911|     59|                    }
 1912|  2.00k|                }
 1913|  2.31k|            }
 1914|    427|        }
 1915|    607|    }
 1916|       |
 1917|  1.11k|    overlay_offset = 0;  // impossible value
 1918|  1.11k|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1919|  1.11k|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1919:9): [True: 799, False: 314]
  |  Branch (1919:19): [True: 797, False: 2]
  ------------------
 1920|    797|        overlay_offset = get_te32(buf + i + l);
 1921|    797|    }
 1922|  1.11k|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1922:16): [True: 333, False: 780]
  ------------------
 1923|    780|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1923:9): [True: 138, False: 642]
  ------------------
 1924|    157|        infoWarning("file corrupted: %s", fi->getName());
 1925|    157|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1926|    157|        fi->seek(sz_mach_headers, SEEK_SET);
 1927|    157|        fi->readx(buf2, buf2.getSize());
 1928|    157|        unsigned const *p = (unsigned const *)&buf2[0];
 1929|    157|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1930|   300k|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1930:16): [True: 300k, False: 141]
  ------------------
 1931|   300k|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1931:16): [True: 101k, False: 199k]
  ------------------
 1932|   101k|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1932:16): [True: 20.8k, False: 80.1k]
  ------------------
 1933|  20.8k|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1933:13): [True: 3.61k, False: 17.2k]
  ------------------
 1934|  3.61k|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1934:13): [True: 1.95k, False: 1.65k]
  ------------------
 1935|  1.95k|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1935:13): [True: 299, False: 1.65k]
  ------------------
 1936|   300k|        ) {
 1937|    299|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1938|    299|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1938:19): [True: 283, False: 16]
  ------------------
 1939|     16|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:31): [True: 0, False: 16]
  ------------------
 1940|     16|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1940:24): [True: 0, False: 16]
  ------------------
 1941|     16|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1942|     16|                return true;
 1943|     16|            }
 1944|    299|        }
 1945|    141|        throwCantUnpack("file corrupted");
 1946|    157|    }
 1947|    956|    return true;
 1948|  1.11k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE16find_SEGMENT_gapEjj:
 1114|     33|{
 1115|     33|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1116|     33|    if (lc_seg!=msegcmd[k].cmd
  ------------------
  |  Branch (1116:9): [True: 16, False: 17]
  ------------------
 1117|     20|    ||  0==msegcmd[k].filesize ) {
  ------------------
  |  Branch (1117:9): [True: 4, False: 13]
  ------------------
 1118|     20|        return 0;
 1119|     20|    }
 1120|     13|    unsigned const hi = msegcmd[k].fileoff + msegcmd[k].filesize;
 1121|     13|    unsigned lo = pos_eof;
 1122|     13|    unsigned j = k;
 1123|     54|    for (;;) { // circular search, optimize for adjacent ascending
 1124|     54|        ++j;
 1125|     54|        if (n_segment==j) {
  ------------------
  |  Branch (1125:13): [True: 9, False: 45]
  ------------------
 1126|      9|            j = 0;
 1127|      9|        }
 1128|     54|        if (k==j) {
  ------------------
  |  Branch (1128:13): [True: 9, False: 45]
  ------------------
 1129|      9|            break;
 1130|      9|        }
 1131|     45|        if (lc_seg==msegcmd[j].cmd
  ------------------
  |  Branch (1131:13): [True: 45, False: 0]
  ------------------
 1132|     45|        &&  0!=msegcmd[j].filesize ) {
  ------------------
  |  Branch (1132:13): [True: 36, False: 9]
  ------------------
 1133|     36|            unsigned const t = (unsigned) msegcmd[j].fileoff;
 1134|     36|            if ((t - hi) < (lo - hi)) {
  ------------------
  |  Branch (1134:17): [True: 11, False: 25]
  ------------------
 1135|     11|                lo = t;
 1136|     11|                if (hi==lo) {
  ------------------
  |  Branch (1136:21): [True: 4, False: 7]
  ------------------
 1137|      4|                    break;
 1138|      4|                }
 1139|     11|            }
 1140|     36|        }
 1141|     45|    }
 1142|     13|    return lo - hi;
 1143|     33|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE23compare_segment_commandEPKvS7_:
  560|    306|{
  561|    306|    Mach_segment_command const *const a = (Mach_segment_command const *)aa;
  562|    306|    Mach_segment_command const *const b = (Mach_segment_command const *)bb;
  563|    306|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
  564|    306|    unsigned const xa = a->cmd - lc_seg;
  565|    306|    unsigned const xb = b->cmd - lc_seg;
  566|    306|           if (xa < xb)        return -1;  // LC_SEGMENT first
  ------------------
  |  Branch (566:16): [True: 156, False: 150]
  ------------------
  567|    150|           if (xa > xb)        return  1;
  ------------------
  |  Branch (567:16): [True: 57, False: 93]
  ------------------
  568|       |    // Ascending by .fileoff so that find_SEGMENT_gap works
  569|     93|    if (a->fileoff < b->fileoff)
  ------------------
  |  Branch (569:9): [True: 71, False: 22]
  ------------------
  570|     71|                               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:
 2289|  6.93k|PackMachFat::PackMachFat(InputFile *f) : super(f)
 2290|  6.93k|{
 2291|  6.93k|    bele = &N_BELE_RTP::le_policy;  // sham
 2292|  6.93k|}
_ZN11PackMachFatD2Ev:
 2295|  6.93k|{
 2296|  6.93k|}
_ZN11PackMachFat14check_fat_headEv:
 2299|  6.95k|{
 2300|  6.95k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2301|  6.95k|    unsigned nfat = fat_head.fat.nfat_arch;
 2302|  6.95k|    if (Mach_fat_header::FAT_MAGIC!=fat_head.fat.magic
  ------------------
  |  Branch (2302:9): [True: 6.68k, False: 265]
  ------------------
 2303|  6.71k|    ||  N_FAT_ARCH < nfat) {
  ------------------
  |  Branch (2303:9): [True: 26, False: 239]
  ------------------
 2304|  6.71k|        return 0;
 2305|  6.71k|    }
 2306|    375|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2306:24): [True: 254, False: 121]
  ------------------
 2307|    254|        unsigned const align = arch[j].align;
 2308|    254|        if (24 < align) {
  ------------------
  |  Branch (2308:13): [True: 30, False: 224]
  ------------------
 2309|     30|            char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|     30|#define snprintf  upx_safe_snprintf
  ------------------
 2310|     30|                "bad fat_arch alignment 0x%x > 24", align);
 2311|     30|            throwCantPack(msg);
 2312|     30|        }
 2313|    224|        unsigned const mask = ~(~0u<<align);
 2314|    224|        unsigned const size = arch[j].size;
 2315|    224|        unsigned const offset = arch[j].offset;
 2316|    224|        if (align < 12 || align > 24) { // heuristic
  ------------------
  |  Branch (2316:13): [True: 3, False: 221]
  |  Branch (2316:27): [True: 0, False: 221]
  ------------------
 2317|      3|            throwUnknownExecutableFormat("align", 0);
 2318|      3|        }
 2319|    221|        if (mask > size) {
  ------------------
  |  Branch (2319:13): [True: 4, False: 217]
  ------------------
 2320|      4|            throwUnknownExecutableFormat("size", 0);
 2321|      4|        }
 2322|    217|        if (mask & offset
  ------------------
  |  Branch (2322:13): [True: 8, False: 209]
  ------------------
 2323|    209|        ||  (unsigned)fi->st_size_orig() < size + offset
  ------------------
  |  Branch (2323:13): [True: 49, False: 160]
  ------------------
 2324|    160|        ||  (unsigned)fi->st_size_orig() <= offset) {  // redundant unless overflow
  ------------------
  |  Branch (2324:13): [True: 24, False: 136]
  ------------------
 2325|     81|            throwUnknownExecutableFormat("offset", 0);
 2326|     81|        }
 2327|    217|    }
 2328|    121|    return nfat;
 2329|    239|}
_ZN11PackMachFat6unpackEP10OutputFile:
 2450|     20|{
 2451|     20|    if (fo) {  // test mode ("-t") sets fo = nullptr
  ------------------
  |  Branch (2451:9): [True: 20, False: 0]
  ------------------
 2452|     20|        fo->seek(0, SEEK_SET);
 2453|     20|        fo->write(&fat_head, sizeof(fat_head.fat) +
 2454|     20|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2455|     20|    }
 2456|     20|    unsigned const nfat = check_fat_head();
 2457|     20|    unsigned length;
 2458|     20|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2458:24): [True: 20, False: 0]
  ------------------
 2459|     20|        unsigned base = (fo ? fo->unset_extent() : 0);  // actual length
  ------------------
  |  Branch (2459:26): [True: 20, False: 0]
  ------------------
 2460|     20|        base += ~(~0u<<fat_head.arch[j].align) & (0-base);  // align up
 2461|     20|        if (fo) {
  ------------------
  |  Branch (2461:13): [True: 20, False: 0]
  ------------------
 2462|     20|            fo->seek(base, SEEK_SET);
 2463|     20|            fo->set_extent(base, ~0u);
 2464|     20|        }
 2465|       |
 2466|     20|        ph.u_file_size = fat_head.arch[j].size;
 2467|     20|        fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size);
 2468|     20|        fi->seek(0, SEEK_SET);
 2469|     20|        switch (fat_head.arch[j].cputype) {
  ------------------
  |  Branch (2469:17): [True: 20, False: 0]
  ------------------
 2470|      6|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2470:9): [True: 6, False: 14]
  ------------------
 2471|      6|            N_Mach::Mach_header<MachClass_LE32::MachITypes> hdr;
 2472|      6|            typedef N_Mach::Mach_header<MachClass_LE32::MachITypes> Mach_header;
 2473|      6|            fi->readx(&hdr, sizeof(hdr));
 2474|      6|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2474:17): [True: 3, False: 3]
  ------------------
 2475|      3|                PackMachI386 packer(fi);
 2476|      3|                packer.initPackHeader();
 2477|      3|                packer.canUnpack();
 2478|      3|                packer.unpack(fo);
 2479|      3|            }
 2480|      3|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2480:22): [True: 3, False: 0]
  ------------------
 2481|      3|                PackDylibI386 packer(fi);
 2482|      3|                packer.initPackHeader();
 2483|      3|                packer.canUnpack();
 2484|      3|                packer.unpack(fo);
 2485|      3|            }
 2486|      6|        } break;
 2487|     14|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2487:9): [True: 14, False: 6]
  ------------------
 2488|     14|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2489|     14|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2490|     14|            fi->readx(&hdr, sizeof(hdr));
 2491|     14|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2491:17): [True: 11, False: 3]
  ------------------
 2492|     11|                PackMachAMD64 packer(fi);
 2493|     11|                packer.initPackHeader();
 2494|     11|                packer.canUnpack();
 2495|     11|                packer.unpack(fo);
 2496|     11|            }
 2497|      3|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2497:22): [True: 3, False: 0]
  ------------------
 2498|      3|                PackDylibAMD64 packer(fi);
 2499|      3|                packer.initPackHeader();
 2500|      3|                packer.canUnpack();
 2501|      3|                packer.unpack(fo);
 2502|      3|            }
 2503|     14|        } break;
 2504|      0|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2504:9): [True: 0, False: 20]
  ------------------
 2505|      0|            N_Mach::Mach_header<MachClass_BE32::MachITypes> hdr;
 2506|      0|            typedef N_Mach::Mach_header<MachClass_BE32::MachITypes> Mach_header;
 2507|      0|            fi->readx(&hdr, sizeof(hdr));
 2508|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2508:17): [True: 0, False: 0]
  ------------------
 2509|      0|                PackMachPPC32 packer(fi);
 2510|      0|                packer.initPackHeader();
 2511|      0|                packer.canUnpack();
 2512|      0|                packer.unpack(fo);
 2513|      0|            }
 2514|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2514:22): [True: 0, False: 0]
  ------------------
 2515|      0|                PackDylibPPC32 packer(fi);
 2516|      0|                packer.initPackHeader();
 2517|      0|                packer.canUnpack();
 2518|      0|                packer.unpack(fo);
 2519|      0|            }
 2520|      0|        } break;
 2521|      0|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2521:9): [True: 0, False: 20]
  ------------------
 2522|      0|            N_Mach::Mach_header<MachClass_LE64::MachITypes> hdr;
 2523|      0|            typedef N_Mach::Mach_header<MachClass_LE64::MachITypes> Mach_header;
 2524|      0|            fi->readx(&hdr, sizeof(hdr));
 2525|      0|            if (hdr.filetype==Mach_header::MH_EXECUTE) {
  ------------------
  |  Branch (2525:17): [True: 0, False: 0]
  ------------------
 2526|      0|                PackMachPPC64 packer(fi);
 2527|      0|                packer.initPackHeader();
 2528|      0|                packer.canUnpack();
 2529|      0|                packer.unpack(fo);
 2530|      0|            }
 2531|      0|            else if (hdr.filetype==Mach_header::MH_DYLIB) {
  ------------------
  |  Branch (2531:22): [True: 0, False: 0]
  ------------------
 2532|      0|                PackDylibPPC64 packer(fi);
 2533|      0|                packer.initPackHeader();
 2534|      0|                packer.canUnpack();
 2535|      0|                packer.unpack(fo);
 2536|      0|            }
 2537|      0|        } break;
 2538|     20|        }  // switch cputype
 2539|      0|        fat_head.arch[j].offset = base;
 2540|      0|        length = (fo ? fo->unset_extent() : 0);
  ------------------
  |  Branch (2540:19): [True: 0, False: 0]
  ------------------
 2541|      0|        fat_head.arch[j].size = length - base;
 2542|      0|    }
 2543|      0|    if (fo) {
  ------------------
  |  Branch (2543:9): [True: 0, False: 0]
  ------------------
 2544|      0|        fo->unset_extent();
 2545|       |        fo->seek(0, SEEK_SET);
 2546|      0|        fo->rewrite(&fat_head, sizeof(fat_head.fat) +
 2547|      0|            fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
 2548|      0|    }
 2549|      0|}
_ZN11PackMachFat9canUnpackEv:
 2620|  6.93k|{
 2621|  6.93k|    struct Mach_fat_arch const *const arch = &fat_head.arch[0];
 2622|       |
 2623|  6.93k|    fi->readx(&fat_head, sizeof(fat_head));
 2624|  6.93k|    unsigned const nfat = check_fat_head();
 2625|  6.93k|    if (0 == nfat) {
  ------------------
  |  Branch (2625:9): [True: 6.71k, False: 218]
  ------------------
 2626|  6.71k|        return false;
 2627|  6.71k|    }
 2628|    243|    for (unsigned j=0; j < nfat; ++j) {
  ------------------
  |  Branch (2628:24): [True: 105, False: 138]
  ------------------
 2629|    105|        fi->set_extent(arch[j].offset, arch[j].size);
 2630|    105|        fi->seek(0, SEEK_SET);
 2631|    105|        switch (arch[j].cputype) {
 2632|     26|        default: return false;
  ------------------
  |  Branch (2632:9): [True: 26, False: 79]
  ------------------
 2633|     26|        case PackMachFat::CPU_TYPE_I386: {
  ------------------
  |  Branch (2633:9): [True: 26, False: 79]
  ------------------
 2634|     26|            PackMachI386 packer(fi);
 2635|     26|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2635:17): [True: 20, False: 6]
  ------------------
 2636|     20|                PackDylibI386 pack2r(fi);
 2637|     20|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2637:21): [True: 12, False: 8]
  ------------------
 2638|     12|                    return 0;
 2639|      8|                else
 2640|      8|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2641|     20|            }
 2642|      6|            else
 2643|      6|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2644|     26|        } break;
 2645|     41|        case PackMachFat::CPU_TYPE_X86_64: {
  ------------------
  |  Branch (2645:9): [True: 41, False: 64]
  ------------------
 2646|     41|            PackMachAMD64 packer(fi);
 2647|     41|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2647:17): [True: 25, False: 16]
  ------------------
 2648|     25|                PackDylibAMD64 pack2r(fi);
 2649|     25|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2649:21): [True: 10, False: 15]
  ------------------
 2650|     10|                    return 0;
 2651|     15|                else
 2652|     15|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2653|     25|            }
 2654|     16|            else
 2655|     16|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2656|     41|        } break;
 2657|     31|        case PackMachFat::CPU_TYPE_POWERPC: {
  ------------------
  |  Branch (2657:9): [True: 8, False: 97]
  ------------------
 2658|      8|            PackMachPPC32 packer(fi);
 2659|      8|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2659:17): [True: 7, False: 1]
  ------------------
 2660|      7|                PackDylibPPC32 pack2r(fi);
 2661|      7|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2661:21): [True: 6, False: 1]
  ------------------
 2662|      6|                    return 0;
 2663|      1|                else
 2664|      1|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2665|      7|            }
 2666|      1|            else
 2667|      1|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2668|      8|        } break;
 2669|      4|        case PackMachFat::CPU_TYPE_POWERPC64: {
  ------------------
  |  Branch (2669:9): [True: 4, False: 101]
  ------------------
 2670|      4|            PackMachPPC64 packer(fi);
 2671|      4|            if (!packer.canUnpack()) {
  ------------------
  |  Branch (2671:17): [True: 3, False: 1]
  ------------------
 2672|      3|                PackDylibPPC64 pack2r(fi);
 2673|      3|                if (!pack2r.canUnpack())
  ------------------
  |  Branch (2673:21): [True: 3, False: 0]
  ------------------
 2674|      3|                    return 0;
 2675|      0|                else
 2676|      0|                    ph.format = pack2r.getFormat(); // FIXME: copy entire PackHeader
 2677|      3|            }
 2678|      1|            else
 2679|      1|                ph.format = packer.getFormat(); // FIXME: copy entire PackHeader
 2680|      4|        } break;
 2681|    105|        }  // switch cputype
 2682|    105|    }
 2683|    138|    return 1;
 2684|    218|}
p_mach.cpp:_ZL21is_bad_linker_commandjjjjj:
  193|  14.7k|{
  194|  14.7k|    cmd &= ~LC_REQ_DYLD;
  195|  14.7k|   return !cmd  // there is no LC_ cmd 0
  ------------------
  |  Branch (195:11): [True: 67, False: 14.7k]
  ------------------
  196|  14.7k|   || sizeof(lc_cmd_size) <= cmd  // beyond table of known sizes
  ------------------
  |  Branch (196:7): [True: 339, False: 14.3k]
  ------------------
  197|  14.3k|   || !lc_cmd_size[cmd]  // obsolete, or proper size not known to us
  ------------------
  |  Branch (197:7): [True: 7, False: 14.3k]
  ------------------
  198|  14.3k|   || !cmdsize || ((-1+ szAddr) & cmdsize)  // size not aligned
  ------------------
  |  Branch (198:7): [True: 12, False: 14.3k]
  |  Branch (198:19): [True: 59, False: 14.3k]
  ------------------
  199|  14.3k|   || headway < cmdsize  // not within header area
  ------------------
  |  Branch (199:7): [True: 105, False: 14.2k]
  ------------------
  200|  14.2k|   || (lc_seg == cmd  // lc_seg must have following lc_sections
  ------------------
  |  Branch (200:8): [True: 7.65k, False: 6.54k]
  ------------------
  201|  7.65k|       && (cmdsize - lc_seg_info[szAddr>>3].segcmdsize) %
  ------------------
  |  Branch (201:11): [True: 13, False: 7.64k]
  ------------------
  202|  7.65k|                     lc_seg_info[szAddr>>3].seccmdsize)
  203|  14.1k|   || (0 < lc_cmd_size[cmd] &&  lc_cmd_size[cmd] != (int)cmdsize)  // not known size
  ------------------
  |  Branch (203:8): [True: 1.38k, False: 12.8k]
  |  Branch (203:33): [True: 19, False: 1.36k]
  ------------------
  204|  14.1k|   || (0 > lc_cmd_size[cmd] && -lc_cmd_size[cmd]  > (int)cmdsize)  // below minimum size
  ------------------
  |  Branch (204:8): [True: 12.8k, False: 1.36k]
  |  Branch (204:32): [True: 6, False: 12.8k]
  ------------------
  205|  14.7k|   ;
  206|  14.7k|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEED2Ev:
  235|      6|{
  236|      6|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjjjj:
  219|      7|    super(f), my_page_size(1ull<<page_shift), my_page_mask(~0ull<<page_shift),
  220|      7|    my_cputype(cputype), my_filetype(filetype), my_thread_flavor(flavor),
  221|      7|    my_thread_state_word_count(count), my_thread_command_size(size),
  222|      7|    n_segment(0), rawmseg(nullptr), msegcmd(nullptr), o__mod_init_func(0),
  223|      7|    prev_mod_init_func(0), pagezero_vmsize(0)
  224|      7|{
  225|      7|    MachClass::compileTimeAssertions();
  226|      7|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
  227|      7|    memset(&cmdUUID, 0, sizeof(cmdUUID));
  228|      7|    memset(&cmdSRCVER, 0, sizeof(cmdSRCVER));
  229|      7|    memset(&cmdVERMIN, 0, sizeof(cmdVERMIN));
  230|      7|    memset(&linkitem, 0, sizeof(linkitem));
  231|      7|}
_ZN12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
 1638|      6|{
 1639|      6|    unsigned const lc_seg = lc_seg_info[sizeof(Addr)>>3].segment_cmd;
 1640|      6|    fi->seek(0, SEEK_SET);
 1641|      6|    fi->readx(&mhdri, sizeof(mhdri));
 1642|       |
 1643|      6|    if (((unsigned) Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) !=mhdri.magic
  ------------------
  |  Branch (1643:9): [True: 4, False: 2]
  ------------------
 1644|      2|    ||  my_cputype   !=mhdri.cputype
  ------------------
  |  Branch (1644:9): [True: 2, False: 0]
  ------------------
 1645|      0|    ||  my_filetype  !=mhdri.filetype
  ------------------
  |  Branch (1645:9): [True: 0, False: 0]
  ------------------
 1646|      6|    )
 1647|      6|        return false;
 1648|      0|    my_cpusubtype = mhdri.cpusubtype;
 1649|       |
 1650|      0|    unsigned const ncmds = mhdri.ncmds;
 1651|      0|    int headway = (int)mhdri.sizeofcmds;
 1652|      0|    if (!ncmds || MAX_N_CMDS < ncmds || file_size < headway
  ------------------
  |  | 1472|      0|#define MAX_N_CMDS 256
  ------------------
  |  Branch (1652:9): [True: 0, False: 0]
  |  Branch (1652:19): [True: 0, False: 0]
  |  Branch (1652:41): [True: 0, False: 0]
  ------------------
 1653|      0|     ||  headway < 4*4 ) {
  ------------------
  |  Branch (1653:10): [True: 0, False: 0]
  ------------------
 1654|      0|        char msg[80]; snprintf(msg, sizeof(msg),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1655|      0|            "bad Mach_header ncmds=%d  sizeofcmds=0x%x", ncmds, headway);
 1656|      0|        throwCantUnpack(msg);
 1657|      0|    }
 1658|       |    // old style:   LC_SEGMENT + LC_UNIXTHREAD  [smaller, varies by $ARCH]
 1659|       |    // new style: 3*LC_SEGMENT + LC_MAIN        [larger]
 1660|      0|    if ((2 == ncmds
  ------------------
  |  Branch (1660:10): [True: 0, False: 0]
  ------------------
 1661|      0|        && headway < (int)(sizeof(Mach_segment_command) + 4*4))
  ------------------
  |  Branch (1661:12): [True: 0, False: 0]
  ------------------
 1662|      0|    ||  (3 <= ncmds
  ------------------
  |  Branch (1662:10): [True: 0, False: 0]
  ------------------
 1663|      0|        && headway < (int)(3 * sizeof(Mach_segment_command)
  ------------------
  |  Branch (1663:12): [True: 0, False: 0]
  ------------------
 1664|      0|                    + sizeof(Mach_main_command)))) {
 1665|      0|        infoWarning("Mach_header.sizeofcmds = %d too small", headway);
 1666|      0|        throwCantUnpack("file corrupted");
 1667|      0|    }
 1668|      0|    sz_mach_headers = headway + sizeof(mhdri);
 1669|      0|    if (2048 < headway) {
  ------------------
  |  Branch (1669:9): [True: 0, False: 0]
  ------------------
 1670|      0|        infoWarning("Mach_header.sizeofcmds(%d) > 2048", headway);
 1671|      0|    }
 1672|      0|    if (!headway) {
  ------------------
  |  Branch (1672:9): [True: 0, False: 0]
  ------------------
 1673|      0|        throwCantPack("Mach_header.sizeofcmds == 0");
 1674|      0|    }
 1675|      0|    rawmseg_buf.alloc(mhdri.sizeofcmds);
 1676|      0|    rawmseg = (Mach_segment_command *)rawmseg_buf.getVoidPtr();
 1677|      0|    fi->readx(rawmseg, mhdri.sizeofcmds);
 1678|       |
 1679|      0|    Mach_segment_command const *ptrTEXT = nullptr;
 1680|      0|    upx_uint64_t rip = 0;
 1681|      0|    unsigned style = 0;
 1682|      0|    off_t offLINK = 0;
  ------------------
  |  |  216|      0|#define off_t upx_off_t
  ------------------
 1683|      0|    unsigned pos_next = 0;
 1684|      0|    unsigned nseg = 0;
 1685|      0|    Mach_command const *ptr = (Mach_command const *)rawmseg;
 1686|      0|    for (unsigned j= 0; j < ncmds;
  ------------------
  |  Branch (1686:25): [True: 0, False: 0]
  ------------------
 1687|      0|            ptr = (Mach_command const *)(ptr->cmdsize + (char const *)ptr), ++j) {
 1688|      0|        if (headway < (int)sizeof(Mach_command)) {
  ------------------
  |  Branch (1688:13): [True: 0, False: 0]
  ------------------
 1689|      0|            char buf[200]; snprintf(buf, sizeof(buf),
  ------------------
  |  |   75|      0|#define snprintf  upx_safe_snprintf
  ------------------
 1690|      0|                "bad Mach_command[%u]{@0x%zx,+0x%x}",
 1691|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway);
 1692|      0|            throwCantPack(buf);
 1693|      0|        }
 1694|      0|        unsigned const cmd = ptr->cmd;
 1695|      0|        unsigned const cmdsize = ptr->cmdsize;
 1696|      0|        if (is_bad_linker_command(cmd, cmdsize, headway, lc_seg, sizeof(Addr))) {
  ------------------
  |  Branch (1696:13): [True: 0, False: 0]
  ------------------
 1697|      0|                opt->info_mode += 1;
 1698|      0|                infoWarning("bad Mach_command[%u]{@0x%zx,+0x%x}=0x%x: file_size=0x%lx  cmdsize=0x%lx",
 1699|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1700|      0|                    cmd, (unsigned long) file_size, (unsigned long)ptr->cmdsize);
 1701|      0|                opt->info_mode -= 1;
 1702|      0|                throwCantUnpack("file corrupted");
 1703|      0|        }
 1704|      0|        headway -= cmdsize;
 1705|      0|        if (headway < 0) {
  ------------------
  |  Branch (1705:13): [True: 0, False: 0]
  ------------------
 1706|      0|            infoWarning("Mach_command[%u]{@%lu}.cmdsize = %u", j,
 1707|      0|                (unsigned long) (sizeof(mhdri) + mhdri.sizeofcmds - (headway + ptr->cmdsize)),
 1708|      0|                (unsigned)ptr->cmdsize);
 1709|      0|            throwCantUnpack("sum(.cmdsize) exceeds .sizeofcmds");
 1710|      0|        }
 1711|      0|        if (lc_seg == ptr->cmd) {
  ------------------
  |  Branch (1711:13): [True: 0, False: 0]
  ------------------
 1712|      0|            Mach_segment_command const *const segptr = (Mach_segment_command const *)ptr;
 1713|      0|            if ((unsigned long)file_size < segptr->filesize
  ------------------
  |  Branch (1713:17): [True: 0, False: 0]
  ------------------
 1714|      0|            ||  (unsigned long)file_size < segptr->fileoff
  ------------------
  |  Branch (1714:17): [True: 0, False: 0]
  ------------------
 1715|      0|            ||  (unsigned long)file_size < (segptr->filesize + segptr->fileoff)) {
  ------------------
  |  Branch (1715:17): [True: 0, False: 0]
  ------------------
 1716|      0|                infoWarning("bad Mach_segment_command[%u]{@0x%zx,+0x%x}: file_size=0x%lx  cmdsize=0x%lx"
 1717|      0|                      "  filesize=0x%lx  fileoff=0x%lx",
 1718|      0|                    j, (sizeof(mhdri) + ((char const *)ptr - (char const *)rawmseg)), headway,
 1719|      0|                    (unsigned long) file_size, (unsigned long)ptr->cmdsize,
 1720|      0|                    (unsigned long)segptr->filesize, (unsigned long)segptr->fileoff);
 1721|      0|                throwCantUnpack("file corrupted");
 1722|      0|            }
 1723|      0|            ++nseg;
 1724|      0|            if (!strcmp("__XHDR", segptr->segname)) {
  ------------------
  |  Branch (1724:17): [True: 0, False: 0]
  ------------------
 1725|       |                // PackHeader precedes __LINKEDIT (pre-Sierra MacOS 10.12)
 1726|      0|                style = 391;  // UPX 3.91
 1727|      0|            }
 1728|      0|            if (!strcmp("__TEXT", segptr->segname)) {
  ------------------
  |  Branch (1728:17): [True: 0, False: 0]
  ------------------
 1729|      0|                ptrTEXT = segptr;
 1730|      0|                style = 391;  // UPX 3.91
 1731|      0|            }
 1732|      0|            if (!strcmp("UPX_DATA", segptr->segname)) {
  ------------------
  |  Branch (1732:17): [True: 0, False: 0]
  ------------------
 1733|       |                // PackHeader follows loader at __LINKEDIT (Sierra MacOS 10.12)
 1734|      0|                style = 392;  // UPX 3.92
 1735|      0|            }
 1736|      0|            if (!strcmp("__LINKEDIT", segptr->segname)) {
  ------------------
  |  Branch (1736:17): [True: 0, False: 0]
  ------------------
 1737|      0|                offLINK = segptr->fileoff;
 1738|      0|                if (segptr->filesize == blankLINK) {
  ------------------
  |  Branch (1738:21): [True: 0, False: 0]
  ------------------
 1739|      0|                    style = 395;
 1740|      0|                }
 1741|      0|                if (offLINK < (off_t) pos_next) {
  ------------------
  |  Branch (1741:21): [True: 0, False: 0]
  ------------------
 1742|      0|                    offLINK = pos_next;
 1743|      0|                }
 1744|      0|            }
 1745|      0|            pos_next = segptr->filesize + segptr->fileoff;
 1746|      0|        }
 1747|      0|        else if (Mach_command::LC_UNIXTHREAD==ptr->cmd) {
  ------------------
  |  Branch (1747:18): [True: 0, False: 0]
  ------------------
 1748|      0|            rip = entryVMA = threadc_getPC(ptr);
 1749|      0|        }
 1750|      0|    }
 1751|      0|    if (3==nseg && 395 != style) { // __PAGEZERO, __TEXT, __LINKEDIT;  no __XHDR, no UPX_DATA
  ------------------
  |  Branch (1751:9): [True: 0, False: 0]
  |  Branch (1751:20): [True: 0, False: 0]
  ------------------
 1752|      0|        style = 392;
 1753|      0|    }
 1754|      0|    if (391==style && 0==offLINK && 2==ncmds && ptrTEXT) { // pre-3.91 ?
  ------------------
  |  Branch (1754:9): [True: 0, False: 0]
  |  Branch (1754:23): [True: 0, False: 0]
  |  Branch (1754:37): [True: 0, False: 0]
  |  Branch (1754:49): [True: 0, False: 0]
  ------------------
 1755|      0|        offLINK = ptrTEXT->fileoff + ptrTEXT->filesize;  // fake __LINKEDIT at EOF
 1756|      0|    }
 1757|      0|    if (0 == style || 0 == offLINK) {
  ------------------
  |  Branch (1757:9): [True: 0, False: 0]
  |  Branch (1757:23): [True: 0, False: 0]
  ------------------
 1758|      0|        return false;
 1759|      0|    }
 1760|       |
 1761|      0|    int const small = 32 + sizeof(overlay_offset);
 1762|      0|    unsigned bufsize = my_page_size + sizeof(PackHeader) + sizeof(overlay_offset);
 1763|      0|    if (391 == style) { // PackHeader precedes __LINKEDIT
  ------------------
  |  Branch (1763:9): [True: 0, False: 0]
  ------------------
 1764|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1765|      0|    } else
 1766|      0|    if (392 == style) {
  ------------------
  |  Branch (1766:9): [True: 0, False: 0]
  ------------------
 1767|      0|        if (MH_DYLIB == my_filetype) {
  ------------------
  |  Branch (1767:13): [True: 0, False: 0]
  ------------------
 1768|      0|            fi->seek(fi->st_size() - bufsize, SEEK_SET);
 1769|      0|        }
 1770|      0|        else { // PackHeader follows loader at __LINKEDIT
 1771|      0|            if ((off_t)bufsize > (fi->st_size() - offLINK)) {
  ------------------
  |  Branch (1771:17): [True: 0, False: 0]
  ------------------
 1772|      0|                bufsize = fi->st_size() - offLINK;
 1773|      0|                if (bufsize < sizeof(struct b_info)) {
  ------------------
  |  Branch (1773:21): [True: 0, False: 0]
  ------------------
 1774|      0|                    throwCantUnpack("bad offLINK %p %p",
 1775|      0|                        (void *)offLINK, (void *)file_size);
 1776|      0|                }
 1777|      0|            }
 1778|      0|            fi->seek(offLINK, SEEK_SET);
 1779|      0|        }
 1780|      0|    } else
 1781|      0|    if (395 == style) {
  ------------------
  |  Branch (1781:9): [True: 0, False: 0]
  ------------------
 1782|      0|        fi->seek(offLINK - bufsize, SEEK_SET);
 1783|      0|    }
 1784|      0|    MemBuffer buf(bufsize);
 1785|      0|    MemBuffer buf3(upx::max(bufsize, 0x1008u));
 1786|      0|    buf3.clear();
 1787|       |
 1788|      0|    fi->readx(buf, bufsize);
 1789|       |    // Do not overwrite buf[]; For scratch space, then use buf3 instead.
 1790|       |
 1791|      0|    int i = bufsize;
 1792|      0|    while (i > small && 0 == buf[--i]) { } // why is this search so slow?
  ------------------
  |  Branch (1792:12): [True: 0, False: 0]
  |  Branch (1792:25): [True: 0, False: 0]
  ------------------
 1793|      0|    i -= small;
 1794|       |    // allow incompressible extents
 1795|      0|    if (i < 1 || !getPackHeader(buf + i, bufsize - i, true)) {
  ------------------
  |  Branch (1795:9): [True: 0, False: 0]
  |  Branch (1795:18): [True: 0, False: 0]
  ------------------
 1796|       |        // Breadcrumbs failed.
 1797|       |        // Pirates might overwrite the UPX! marker.  Try harder.
 1798|      0|        upx_uint64_t const rip_off = ptrTEXT ? (rip - ptrTEXT->vmaddr) : 0;
  ------------------
  |  Branch (1798:38): [True: 0, False: 0]
  ------------------
 1799|      0|        if (ptrTEXT && rip && rip_off < ptrTEXT->vmsize) {
  ------------------
  |  Branch (1799:13): [True: 0, False: 0]
  |  Branch (1799:24): [True: 0, False: 0]
  |  Branch (1799:31): [True: 0, False: 0]
  ------------------
 1800|      0|            fi->seek(ptrTEXT->fileoff + rip_off, SEEK_SET);
 1801|      0|            fi->readx(buf3, bufsize);
 1802|      0|            unsigned char const *b = &buf3[0];
 1803|      0|            unsigned disp = *(TE32 const *)&b[1];
 1804|      0|            if (CPU_TYPE_X86_64 == my_cputype) { // Emulate the code
  ------------------
  |  Branch (1804:17): [True: 0, False: 0]
  ------------------
 1805|      0|                if (0xe8==b[0] && disp < bufsize
  ------------------
  |  Branch (1805:21): [True: 0, False: 0]
  |  Branch (1805:35): [True: 0, False: 0]
  ------------------
 1806|       |                    // This has been obsoleted by amd64-darwin.macho-entry.S
 1807|       |                    // searching for "executable_path=" etc.
 1808|      0|                &&  0x5d==b[5+disp] && 0xe8==b[6+disp]) {
  ------------------
  |  Branch (1808:21): [True: 0, False: 0]
  |  Branch (1808:40): [True: 0, False: 0]
  ------------------
 1809|      0|                    unsigned disp2 = 0u - *(TE32 const *)&b[7+disp];
 1810|      0|                    if (disp2 < (12+disp) && 0x5b==b[11+disp-disp2]) {
  ------------------
  |  Branch (1810:25): [True: 0, False: 0]
  |  Branch (1810:46): [True: 0, False: 0]
  ------------------
 1811|      0|                        struct b_info const *bptr = (struct b_info const *)&b[11+disp];
 1812|       |                        // This is the folded stub.
 1813|       |                        // FIXME: check b_method?
 1814|      0|                        if (bptr->sz_cpr < bptr->sz_unc && bptr->sz_unc < 0x1000) {
  ------------------
  |  Branch (1814:29): [True: 0, False: 0]
  |  Branch (1814:60): [True: 0, False: 0]
  ------------------
 1815|      0|                            b = bptr->sz_cpr + (unsigned char const *)(1+ bptr);
 1816|       |                            // FIXME: check PackHeader::putPackHeader(), packhead.cpp
 1817|      0|                            overlay_offset = *(TE32 const *)(32 + b);
 1818|      0|                            if (overlay_offset < 0x1000) {
  ------------------
  |  Branch (1818:33): [True: 0, False: 0]
  ------------------
 1819|      0|                                return true;  // success
 1820|      0|                            }
 1821|      0|                            overlay_offset = 0;  // failure
 1822|      0|                        }
 1823|      0|                    }
 1824|      0|                }
 1825|      0|            }
 1826|      0|            if (395 == style) { // Desperation
  ------------------
  |  Branch (1826:17): [True: 0, False: 0]
  ------------------
 1827|      0|                infoWarning("file corrupted: %s", fi->getName());
 1828|      0|                fi->seek(file_size - bufsize, SEEK_SET);
 1829|      0|                fi->readx(buf3, bufsize);
 1830|      0|                unsigned const *p = (unsigned const *)&buf3[bufsize];
 1831|      0|                for (; buf3 < (void const *)--p; ) {
  ------------------
  |  Branch (1831:24): [True: 0, False: 0]
  ------------------
 1832|      0|                    unsigned x = *p;
 1833|      0|                    if (x) {
  ------------------
  |  Branch (1833:25): [True: 0, False: 0]
  ------------------
 1834|      0|                        if (!(3& x) && x < bufsize) {
  ------------------
  |  Branch (1834:29): [True: 0, False: 0]
  |  Branch (1834:40): [True: 0, False: 0]
  ------------------
 1835|      0|                            fi->seek(0, SEEK_SET);
 1836|      0|                            fi->readx(buf3, bufsize);
 1837|      0|                            p = (unsigned const *)&buf3[x];
 1838|      0|                            if (0 == p[0] && 0 != p[1] && p[1] == p[2]  // p_info
  ------------------
  |  Branch (1838:33): [True: 0, False: 0]
  |  Branch (1838:46): [True: 0, False: 0]
  |  Branch (1838:59): [True: 0, False: 0]
  ------------------
 1839|      0|                            &&  sz_mach_headers < p[3] && p[4] < p[3]  // b_info
  ------------------
  |  Branch (1839:33): [True: 0, False: 0]
  |  Branch (1839:59): [True: 0, False: 0]
  ------------------
 1840|      0|                            ) {
 1841|      0|                                overlay_offset = x;
 1842|      0|                                infoWarning("attempting recovery, overlay_offset = %#x",
 1843|      0|                                    overlay_offset);
 1844|      0|                                return true;
 1845|      0|                            }
 1846|      0|                        }
 1847|      0|                        break;
 1848|      0|                    }
 1849|      0|                }
 1850|      0|            }
 1851|      0|        }
 1852|      0|        if (391==style) {
  ------------------
  |  Branch (1852:13): [True: 0, False: 0]
  ------------------
 1853|      0|            TE32 const *uptr = (TE32 const *)&buf[bufsize];
 1854|      0|            while (0==*--uptr) /*empty*/ ;
  ------------------
  |  Branch (1854:20): [True: 0, False: 0]
  ------------------
 1855|      0|            overlay_offset = *uptr;
 1856|      0|            if (mhdri.sizeofcmds <= overlay_offset && overlay_offset < 0x1000) {
  ------------------
  |  Branch (1856:17): [True: 0, False: 0]
  |  Branch (1856:55): [True: 0, False: 0]
  ------------------
 1857|      0|                return true;  // success
 1858|      0|            }
 1859|      0|            overlay_offset = 0;
 1860|      0|            return false;
 1861|      0|        }
 1862|      0|        if (392==style) {
  ------------------
  |  Branch (1862:13): [True: 0, False: 0]
  ------------------
 1863|      0|            overlay_offset = 0x100c;  // (l_info precedes;) p_info; b_info; cpr_data
 1864|       |            // p_info isn't used for execution, so it has less value for checking:
 1865|       |            //      0== .p_progid
 1866|       |            //      .p_filesize == .p_blocksize
 1867|      0|            fi->seek(overlay_offset, SEEK_SET);
 1868|      0|            fi->readx(buf3, bufsize);
 1869|      0|            struct p_info const *const p_ptr = (struct p_info const *)&buf3[0];
 1870|      0|            struct b_info const *const b_ptr = (struct b_info const *)(1+ p_ptr);
 1871|      0|            TE32 const *uptr = (TE32 const *)(1+ b_ptr);
 1872|      0|            if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1872:17): [True: 0, False: 0]
  ------------------
 1873|      0|            &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1873:17): [True: 0, False: 0]
  ------------------
 1874|      0|                unsigned const method = b_ptr->b_method;
 1875|      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 (1875:22): [True: 0, False: 0]
  |  Branch (1875:48): [True: 0, False: 0]
  ------------------
 1876|      0|                &&  (0xff>>2)==(uptr[0] >> (2+ 24))  // 1st 6 bytes are unique literals
  ------------------
  |  Branch (1876:21): [True: 0, False: 0]
  ------------------
 1877|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == uptr[1]) {
  ------------------
  |  Branch (1877:21): [True: 0, False: 0]
  ------------------
 1878|      0|                    return true;
 1879|      0|                }
 1880|      0|                unsigned const magic = get_te32(&uptr[1]);  // FIXME:  probable bug
 1881|      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 (1881:22): [True: 0, False: 0]
  |  Branch (1881:45): [True: 0, False: 0]
  ------------------
 1882|      0|                && 0xfc==(0xfc & uptr[0])
  ------------------
  |  Branch (1882:20): [True: 0, False: 0]
  ------------------
 1883|      0|                &&  (Mach_header::MH_MAGIC + (sizeof(Addr)>>3)) == magic) {
  ------------------
  |  Branch (1883:21): [True: 0, False: 0]
  ------------------
 1884|      0|                    return true;
 1885|      0|                }
 1886|       |                // FIXME: M_LZMA
 1887|      0|            }
 1888|       |
 1889|      0|            overlay_offset = 0;
 1890|       |            // The first non-zero word scanning backwards from __LINKEDIT.fileoff
 1891|       |            // is the total length of compressed data which precedes it
 1892|       |            //(distance to l_info), so that's another method.
 1893|      0|            fi->seek(offLINK - 0x1000, SEEK_SET);
 1894|      0|            fi->readx(buf3, 0x1000);
 1895|      0|            unsigned const *const lo = (unsigned const *)&buf3[0];
 1896|      0|            unsigned const *p;
 1897|      0|            for (p = (unsigned const *)&buf3[0x1000]; p > lo; ) if (*--p) {
  ------------------
  |  Branch (1897:55): [True: 0, False: 0]
  |  Branch (1897:69): [True: 0, False: 0]
  ------------------
 1898|      0|                overlay_offset  = *(TE32 const *)p;
 1899|      0|                if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1899:21): [True: 0, False: 0]
  ------------------
 1900|      0|                    throwCantUnpack("file corrupted");
 1901|      0|                if ((off_t)overlay_offset < offLINK) {
  ------------------
  |  Branch (1901:21): [True: 0, False: 0]
  ------------------
 1902|      0|                    overlay_offset = ((char const *)p - (char const *)lo) +
 1903|      0|                        (offLINK - 0x1000) - overlay_offset + sizeof(l_info);
 1904|      0|                    if ((unsigned)file_size < (overlay_offset + sizeof(PackHeader) + sizeof(overlay_offset)))
  ------------------
  |  Branch (1904:25): [True: 0, False: 0]
  ------------------
 1905|      0|                        throwCantUnpack("file corrupted");
 1906|      0|                    fi->seek(overlay_offset, SEEK_SET);
 1907|      0|                    fi->readx(buf3, bufsize);
 1908|      0|                    if (b_ptr->sz_unc < 0x4000
  ------------------
  |  Branch (1908:25): [True: 0, False: 0]
  ------------------
 1909|      0|                    &&  b_ptr->sz_cpr < b_ptr->sz_unc ) {
  ------------------
  |  Branch (1909:25): [True: 0, False: 0]
  ------------------
 1910|      0|                        return true;
 1911|      0|                    }
 1912|      0|                }
 1913|      0|            }
 1914|      0|        }
 1915|      0|    }
 1916|       |
 1917|      0|    overlay_offset = 0;  // impossible value
 1918|      0|    int l = ph.buf_offset + ph.getPackHeaderSize();
 1919|      0|    if (0 <= l && (unsigned)(l + sizeof(TE32)) <=bufsize) {
  ------------------
  |  Branch (1919:9): [True: 0, False: 0]
  |  Branch (1919:19): [True: 0, False: 0]
  ------------------
 1920|      0|        overlay_offset = get_te32(buf + i + l);
 1921|      0|    }
 1922|      0|    if (       overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1922:16): [True: 0, False: 0]
  ------------------
 1923|      0|    ||  (off_t)overlay_offset >= file_size) {
  ------------------
  |  Branch (1923:9): [True: 0, False: 0]
  ------------------
 1924|      0|        infoWarning("file corrupted: %s", fi->getName());
 1925|      0|        MemBuffer buf2(upx::umin(1u<<14, file_size_u32));
 1926|      0|        fi->seek(sz_mach_headers, SEEK_SET);
 1927|      0|        fi->readx(buf2, buf2.getSize());
 1928|      0|        unsigned const *p = (unsigned const *)&buf2[0];
 1929|      0|        unsigned const *const e_buf2 = (unsigned const *)&buf2[buf2.getSize() - 4*sizeof(*p)];
 1930|      0|        for (; p <= e_buf2; ++p)
  ------------------
  |  Branch (1930:16): [True: 0, False: 0]
  ------------------
 1931|      0|        if (   0==p[0]  // p_info.p_progid
  ------------------
  |  Branch (1931:16): [True: 0, False: 0]
  ------------------
 1932|      0|        &&     0!=p[1]  // p_info.p_filesize
  ------------------
  |  Branch (1932:16): [True: 0, False: 0]
  ------------------
 1933|      0|        &&  p[2]==p[1]  // p_info.p_blocksize == p_info.p_filesize
  ------------------
  |  Branch (1933:13): [True: 0, False: 0]
  ------------------
 1934|      0|        &&  (unsigned)file_size < get_te32(&p[1])  // compression was worthwhile
  ------------------
  |  Branch (1934:13): [True: 0, False: 0]
  ------------------
 1935|      0|        &&  sz_mach_headers==get_te32(&p[3])  // b_info.sz_unc
  ------------------
  |  Branch (1935:13): [True: 0, False: 0]
  ------------------
 1936|      0|        ) {
 1937|      0|            overlay_offset = ((char const *)p - (char const *)&buf2[0]) + sz_mach_headers;
 1938|      0|            if (!(3&overlay_offset  // not word aligned
  ------------------
  |  Branch (1938:19): [True: 0, False: 0]
  ------------------
 1939|      0|                    ||        overlay_offset < sz_mach_headers
  ------------------
  |  Branch (1939:31): [True: 0, False: 0]
  ------------------
 1940|      0|                    || (off_t)overlay_offset >= file_size)) {
  ------------------
  |  Branch (1940:24): [True: 0, False: 0]
  ------------------
 1941|      0|                infoWarning("attempting recovery, overlay_offset = %#x", overlay_offset);
 1942|      0|                return true;
 1943|      0|            }
 1944|      0|        }
 1945|      0|        throwCantUnpack("file corrupted");
 1946|      0|    }
 1947|      0|    return true;
 1948|      0|}

_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEEEE10getVersionEv:
  742|  5.52k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  742|  9.17k|    virtual int getVersion() const override { return 13; }
_ZNK12PackMachBaseIN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
  742|  14.8k|    virtual int getVersion() const override { return 13; }
_ZNK13PackDylibI3869getFormatEv:
 1058|     10|    virtual int getFormat() const override { return UPX_F_DYLIB_i386; }
  ------------------
  |  |  583|     10|#define UPX_F_DYLIB_i386          33
  ------------------
_ZNK12PackMachI3869getFormatEv:
 1006|  4.84k|    virtual int getFormat() const override { return UPX_F_MACH_i386; }
  ------------------
  |  |  579|  4.84k|#define UPX_F_MACH_i386           29
  ------------------
_ZNK14PackDylibAMD649getFormatEv:
 1126|  5.56k|    virtual int getFormat() const override { return UPX_F_DYLIB_AMD64; }
  ------------------
  |  |  585|  5.56k|#define UPX_F_DYLIB_AMD64         35
  ------------------
_ZNK13PackMachAMD649getFormatEv:
 1073|  4.79k|    virtual int getFormat() const override { return UPX_F_MACH_AMD64; }
  ------------------
  |  |  584|  4.79k|#define UPX_F_MACH_AMD64          34
  ------------------
_ZNK13PackMachPPC329getFormatEv:
  871|  5.52k|    virtual int getFormat() const override { return UPX_F_MACH_PPC32; }
  ------------------
  |  |  600|  5.52k|#define UPX_F_MACH_PPC32        131
  ------------------
_ZN12PackMachI38613threadc_getPCEPKv:
 1039|    191|    upx_uint64_t threadc_getPC(void const *ptr)  override{
 1040|    191|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1041|    191|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1041:13): [True: 0, False: 191]
  ------------------
 1042|    191|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1042:13): [True: 79, False: 112]
  ------------------
 1043|    112|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1043:13): [True: 34, False: 78]
  ------------------
 1044|    165|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1044:13): [True: 52, False: 26]
  ------------------
 1045|    165|            return ~0ull;
 1046|    165|        }
 1047|     26|        return tc->state.eip;
 1048|    191|    }
_ZNK13PackMachAMD647getNameEv:
 1074|      1|    virtual const char *getName() const override { return "macho/amd64"; }
_ZN13PackMachAMD6413threadc_getPCEPKv:
 1107|    586|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1108|    586|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1109|    586|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1109:13): [True: 0, False: 586]
  ------------------
 1110|    586|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1110:13): [True: 159, False: 427]
  ------------------
 1111|    427|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1111:13): [True: 125, False: 302]
  ------------------
 1112|    375|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1112:13): [True: 91, False: 211]
  ------------------
 1113|    375|            return ~0ull;
 1114|    375|        }
 1115|    211|        return tc->state.rip;
 1116|    586|    }
_ZN13PackMachPPC3213threadc_getPCEPKv:
  905|    229|    upx_uint64_t threadc_getPC(void const *ptr) override {
  906|    229|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
  907|    229|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (907:13): [True: 0, False: 229]
  ------------------
  908|    229|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (908:13): [True: 101, False: 128]
  ------------------
  909|    128|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (909:13): [True: 65, False: 63]
  ------------------
  910|    214|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (910:13): [True: 48, False: 15]
  ------------------
  911|    214|            return ~0ull;
  912|    214|        }
  913|     15|        return tc->state.srr0;
  914|    229|    }
_ZNK13PackMachARMEL9getFormatEv:
 1141|  4.32k|    virtual int getFormat() const override { return UPX_F_MACH_ARM; }
  ------------------
  |  |  582|  4.32k|#define UPX_F_MACH_ARM            32
  ------------------
_ZN13PackMachARMEL13threadc_getPCEPKv:
 1175|    508|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1176|    508|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1177|    508|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1177:13): [True: 0, False: 508]
  ------------------
 1178|    508|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1178:13): [True: 394, False: 114]
  ------------------
 1179|    114|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1179:13): [True: 55, False: 59]
  ------------------
 1180|    492|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1180:13): [True: 43, False: 16]
  ------------------
 1181|    492|            return ~0ull;
 1182|    492|        }
 1183|     16|        return tc->state.pc;
 1184|    508|    }
_ZNK15PackMachARM64EL9getFormatEv:
 1194|  4.45k|    virtual int getFormat() const override { return UPX_F_MACH_ARM64; }
  ------------------
  |  |  587|  4.45k|#define UPX_F_MACH_ARM64          37
  ------------------
_ZNK15PackMachARM64EL7getNameEv:
 1195|      1|    virtual const char *getName() const override { return "macho/arm64"; }
_ZN15PackMachARM64EL13threadc_getPCEPKv:
 1227|    123|    upx_uint64_t threadc_getPC(void const *ptr) override {
 1228|    123|        Mach_thread_command const *tc = (Mach_thread_command const *)ptr;
 1229|    123|        if (tc->cmd!=Mach_segment_command::LC_UNIXTHREAD
  ------------------
  |  Branch (1229:13): [True: 0, False: 123]
  ------------------
 1230|    123|        ||  tc->cmdsize!=sizeof(threado)
  ------------------
  |  Branch (1230:13): [True: 68, False: 55]
  ------------------
 1231|     55|        ||  tc->flavor!=my_thread_flavor
  ------------------
  |  Branch (1231:13): [True: 43, False: 12]
  ------------------
 1232|    112|        ||  tc->count!=my_thread_state_word_count) {
  ------------------
  |  Branch (1232:13): [True: 1, False: 11]
  ------------------
 1233|    112|            return ~0ull;
 1234|    112|        }
 1235|     11|        return tc->state.pc;
 1236|    123|    }
_ZNK11PackMachFat10getVersionEv:
 1246|  6.93k|    virtual int getVersion() const override { return 13; }
_ZNK11PackMachFat9getFormatEv:
 1247|  6.93k|    virtual int getFormat() const override { return UPX_F_MACH_FAT; }
  ------------------
  |  |  603|  6.93k|#define UPX_F_MACH_FAT          134
  ------------------
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  577|      6|    static void compileTimeAssertions() {
  578|      6|        BeLePolicy::compileTimeAssertions();
  579|      6|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  247|      6|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|      6|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  580|      6|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8BEPolicyEE21compileTimeAssertionsEv:
  535|  5.53k|    static void compileTimeAssertions() {
  536|  5.53k|        BeLePolicy::compileTimeAssertions();
  537|  5.53k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  247|  5.53k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  5.53k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  538|  5.53k|    }
_ZN6N_Mach12MachClass_32IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  535|  9.19k|    static void compileTimeAssertions() {
  536|  9.19k|        BeLePolicy::compileTimeAssertions();
  537|  9.19k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 4)
  ------------------
  |  |  247|  9.19k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  9.19k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  538|  9.19k|    }
_ZN6N_Mach12MachClass_64IN10N_BELE_CTP8LEPolicyEE21compileTimeAssertionsEv:
  577|  14.1k|    static void compileTimeAssertions() {
  578|  14.1k|        BeLePolicy::compileTimeAssertions();
  579|  14.1k|        COMPILE_TIME_ASSERT(sizeof(Addr) == 8)
  ------------------
  |  |  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);}
  |  |  ------------------
  ------------------
  580|  14.1k|    }

_ZN7PackPs1C2EP9InputFile:
   80|  2.79k|    : super(f), isCon(!opt->ps1_exe.boot_only), is32Bit(!opt->ps1_exe.do_8bit) {
   81|  2.79k|    bele = &N_BELE_RTP::le_policy;
   82|       |
   83|  2.79k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_t) == 136)
  ------------------
  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   84|  2.79k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_hb_t) == 44)
  ------------------
  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   85|  2.79k|    COMPILE_TIME_ASSERT(sizeof(ps1_exe_chb_t) == 5)
  ------------------
  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   86|  2.79k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_t)
  ------------------
  |  |  446|  2.79k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.79k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.79k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.79k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.79k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.79k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.79k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.79k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.79k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.79k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.79k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.79k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.79k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.79k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.79k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.79k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   87|  2.79k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_hb_t)
  ------------------
  |  |  446|  2.79k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.79k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.79k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.79k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.79k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.79k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.79k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.79k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.79k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.79k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.79k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.79k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.79k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.79k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.79k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.79k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   88|  2.79k|    COMPILE_TIME_ASSERT_ALIGNED1(ps1_exe_chb_t)
  ------------------
  |  |  446|  2.79k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.79k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.79k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.79k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.79k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.79k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.79k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.79k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.79k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.79k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.79k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.79k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.79k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.79k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.79k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.79k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.79k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   89|       |
   90|  2.79k|    COMPILE_TIME_ASSERT(PS_HDR_SIZE > sizeof(ps1_exe_t))
  ------------------
  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   91|  2.79k|    COMPILE_TIME_ASSERT(SZ_IH_BKUP == 40)
  ------------------
  |  |  247|  2.79k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.79k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   92|       |
   93|  2.79k|    fdata_size = file_size - PS_HDR_SIZE;
  ------------------
  |  |   45|  2.79k|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|  2.79k|#define CD_SEC        2048
  |  |  ------------------
  ------------------
   94|  2.79k|    ram_size = !opt->ps1_exe.do_8mib ? 0x200000 : 0x800000;
  ------------------
  |  Branch (94:16): [True: 2.79k, False: 0]
  ------------------
   95|  2.79k|}
_ZN7PackPs114readFileHeaderEv:
  114|  2.79k|int PackPs1::readFileHeader() {
  115|  2.79k|    fi->seek(0, SEEK_SET);
  116|  2.79k|    fi->readx(&ih, sizeof(ih));
  117|  2.79k|    if (memcmp(&ih.id[0], "PS-X EXE", 8) != 0 && memcmp(&ih.id[0], "EXE X-SP", 8) != 0)
  ------------------
  |  Branch (117:9): [True: 2.76k, False: 30]
  |  Branch (117:50): [True: 2.63k, False: 131]
  ------------------
  118|  2.63k|        return 0;
  119|    161|    if (ih.text != 0 || ih.data != 0)
  ------------------
  |  Branch (119:9): [True: 29, False: 132]
  |  Branch (119:25): [True: 29, False: 103]
  ------------------
  120|     58|        return 0;
  121|    103|    return UPX_F_PS1_EXE;
  ------------------
  |  |  568|    103|#define UPX_F_PS1_EXE             18
  ------------------
  122|    161|}
_ZN7PackPs114readBkupHeaderEv:
  124|     88|bool PackPs1::readBkupHeader() {
  125|     88|    fi->seek(sizeof(ps1_exe_t) + 8, SEEK_SET);
  126|     88|    fi->readx(&bh, sizeof(bh));
  127|       |
  128|     88|    if (bh.ih_csum != upx_adler32(&bh, SZ_IH_BKUP)) {
  ------------------
  |  |   51|     88|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (128:9): [True: 24, False: 64]
  ------------------
  129|     24|        byte buf[sizeof(bh)];
  130|     24|        fi->seek(sizeof(ps1_exe_t), SEEK_SET);
  131|     24|        fi->readx(buf, sizeof(bh));
  132|     24|        if (!getBkupHeader(buf, (byte *) &bh))
  ------------------
  |  Branch (132:13): [True: 21, False: 3]
  ------------------
  133|     21|            return false;
  134|     24|    }
  135|     67|    return true;
  136|     88|}
_ZN7PackPs113getBkupHeaderEPhS0_:
  170|     24|bool PackPs1::getBkupHeader(byte *p, byte *dst) {
  171|     24|    ps1_exe_chb_t *src = (ps1_exe_chb_t *) p;
  172|       |
  173|     24|    if (src && (src->id == '1' && src->len < SZ_IH_BKUP) && dst) {
  ------------------
  |  |   51|      4|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  |  Branch (173:9): [True: 24, False: 0]
  |  Branch (173:17): [True: 4, False: 20]
  |  Branch (173:35): [True: 3, False: 1]
  |  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|     21|        return false;
  190|      0|    return true;
  191|     24|}
_ZN7PackPs115checkFileHeaderEv:
  193|     63|bool PackPs1::checkFileHeader() {
  194|     63|    if (fdata_size != ih.tx_len || (ih.tx_len & 3)) {
  ------------------
  |  Branch (194:9): [True: 53, False: 10]
  |  Branch (194:36): [True: 1, False: 9]
  ------------------
  195|     54|        if (!opt->force)
  ------------------
  |  Branch (195:13): [True: 54, False: 0]
  ------------------
  196|     54|            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|     54|    }
  204|      9|    if (!opt->force && (ih.da_ptr != 0 || ih.da_len != 0 || ih.bs_ptr != 0 || ih.bs_len != 0)) {
  ------------------
  |  Branch (204:9): [True: 9, False: 0]
  |  Branch (204:25): [True: 4, False: 5]
  |  Branch (204:43): [True: 1, False: 4]
  |  Branch (204:61): [True: 1, False: 3]
  |  Branch (204:79): [True: 1, False: 2]
  ------------------
  205|      7|        infoWarning("unsupported header field entry");
  206|      7|        return false;
  207|      7|    }
  208|      2|    if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   56|      2|#define EXE_BS   (ih.epc & K0_BS)
  |  |  ------------------
  |  |  |  |   54|      2|#define K0_BS    (0x80000000)
  |  |  ------------------
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   46|      2|#define PS_RAM_SIZE   ram_size
  ------------------
                  if (ih.is_ptr < (EXE_BS | (PS_RAM_SIZE - PS_STACK_SIZE))) {
  ------------------
  |  |   49|      2|#define PS_STACK_SIZE (PS_RAM_SIZE / 256)
  |  |  ------------------
  |  |  |  |   46|      2|#define PS_RAM_SIZE   ram_size
  |  |  ------------------
  ------------------
  |  Branch (208:9): [True: 1, False: 1]
  ------------------
  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|      1|    return true;
  215|      2|}
_ZN7PackPs19canUnpackEv:
  615|  2.79k|tribool PackPs1::canUnpack() {
  616|  2.79k|    if (!readFileHeader())
  ------------------
  |  Branch (616:9): [True: 2.68k, False: 103]
  ------------------
  617|  2.68k|        return false;
  618|    103|    if (!readPackHeader(CD_SEC))
  ------------------
  |  |   44|    103|#define CD_SEC        2048
  ------------------
  |  Branch (618:9): [True: 8, False: 95]
  ------------------
  619|      8|        return false;
  620|       |    // check header as set by packer
  621|     95|    if (!readBkupHeader() || ph.c_len >= fdata_size)
  ------------------
  |  Branch (621:9): [True: 31, False: 64]
  |  Branch (621:30): [True: 1, False: 63]
  ------------------
  622|     22|        throwCantUnpack("header damaged");
  623|       |    // generic check
  624|     73|    if (!checkFileHeader())
  ------------------
  |  Branch (624:9): [True: 8, False: 65]
  ------------------
  625|      8|        throwCantUnpack("unsupported header flags");
  626|     65|    return true;
  627|     73|}
_ZN7PackPs16unpackEP10OutputFile:
  633|      1|void PackPs1::unpack(OutputFile *fo) {
  634|       |    // restore orig exec hdr
  635|      1|    memcpy(&oh, &ih, sizeof(ih));
  636|      1|    memcpy((void *) &oh.epc, &bh, SZ_IH_BKUP);
  ------------------
  |  |   51|      1|#define SZ_IH_BKUP  (10 * sizeof(LE32))
  ------------------
  637|       |
  638|       |    // check for removed sector alignment
  639|      1|    assert(oh.tx_len >= ph.u_len);
  ------------------
  |  |  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: 0, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 1, False: 0]
  |  |  ------------------
  ------------------
  640|      0|    const unsigned pad = oh.tx_len - ph.u_len;
  641|       |
  642|      1|    ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      1|#define CD_SEC        2048
  |  |  ------------------
  ------------------
                  ibuf.alloc(fdata_size > PS_HDR_SIZE ? fdata_size : PS_HDR_SIZE);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      2|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  |  Branch (642:16): [True: 0, False: 1]
  ------------------
  643|      1|    obuf.allocForDecompression(ph.u_len, pad);
  644|       |
  645|      1|    fi->seek(PS_HDR_SIZE, SEEK_SET);
  ------------------
  |  |   45|      1|#define PS_HDR_SIZE   CD_SEC
  |  |  ------------------
  |  |  |  |   44|      1|#define CD_SEC        2048
  |  |  ------------------
  ------------------
  646|      1|    fi->readx(ibuf, fdata_size);
  647|       |
  648|       |    // decompress
  649|      1|    decompress(ibuf + (fdata_size - ph.c_len), obuf);
  650|       |
  651|       |    // write decompressed file
  652|      1|    if (fo) {
  ------------------
  |  Branch (652:9): [True: 0, False: 1]
  ------------------
  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|      1|}

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

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

_ZN7PackTmtC2EP9InputFile:
   44|  14.8k|PackTmt::PackTmt(InputFile *f) : super(f) {
   45|  14.8k|    bele = &N_BELE_RTP::le_policy;
   46|  14.8k|    COMPILE_TIME_ASSERT(sizeof(tmt_header_t) == 44)
  ------------------
  |  |  247|  14.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  14.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   47|  14.8k|}
_ZN7PackTmt14readFileHeaderEv:
   91|  14.8k|int PackTmt::readFileHeader() {
   92|  14.8k|#define H(x)  get_le16(h + 2 * (x))
   93|  14.8k|#define H4(x) get_le32(h + (x))
   94|  14.8k|    byte h[0x40];
   95|  14.8k|    int ic;
   96|  14.8k|    unsigned exe_offset = 0;
   97|  14.8k|    adam_offset = 0;
   98|       |
   99|  17.1k|    for (ic = 0; ic < 20; ic++) {
  ------------------
  |  Branch (99:18): [True: 17.0k, False: 96]
  ------------------
  100|  17.0k|        fi->seek(adam_offset, SEEK_SET);
  101|  17.0k|        fi->readx(h, sizeof(h));
  102|       |
  103|  17.0k|        if (memcmp(h, "MZ", 2) == 0) // dos/exe
  ------------------
  |  Branch (103:13): [True: 1.62k, False: 15.4k]
  ------------------
  104|  1.62k|        {
  105|  1.62k|            exe_offset = adam_offset;
  106|  1.62k|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  1.62k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|  1.62k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  107|  1.62k|            if (H(1))
  ------------------
  |  |   92|  1.62k|#define H(x)  get_le16(h + 2 * (x))
  |  |  ------------------
  |  |  |  Branch (92:15): [True: 692, False: 936]
  |  |  ------------------
  ------------------
  108|    692|                adam_offset -= 512;
  109|  1.62k|            if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   92|  1.62k|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          if (H(0x18 / 2) == 0x40 && H4(0x3c))
  ------------------
  |  |   93|    453|#define H4(x) get_le32(h + (x))
  |  |  ------------------
  |  |  |  Branch (93:15): [True: 407, False: 46]
  |  |  ------------------
  ------------------
  |  Branch (109:17): [True: 453, False: 1.17k]
  ------------------
  110|    407|                adam_offset = H4(0x3c);
  ------------------
  |  |   93|    407|#define H4(x) get_le32(h + (x))
  ------------------
  111|  15.4k|        } else if (memcmp(h, "BW", 2) == 0) {
  ------------------
  |  Branch (111:20): [True: 46, False: 15.3k]
  ------------------
  112|     46|            adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     46|#define H(x)  get_le16(h + 2 * (x))
  ------------------
                          adam_offset += H(2) * 512 + H(1);
  ------------------
  |  |   92|     46|#define H(x)  get_le16(h + 2 * (x))
  ------------------
  113|  15.3k|        } else if (memcmp(h, "PMW1", 4) == 0) {
  ------------------
  |  Branch (113:20): [True: 133, False: 15.2k]
  ------------------
  114|    133|            fi->seek(adam_offset + H4(0x18), SEEK_SET);
  ------------------
  |  |   93|    133|#define H4(x) get_le32(h + (x))
  ------------------
  115|    133|            adam_offset += H4(0x24);
  ------------------
  |  |   93|    133|#define H4(x) get_le32(h + (x))
  ------------------
  116|    133|            unsigned objs = H4(0x1c);
  ------------------
  |  |   93|    133|#define H4(x) get_le32(h + (x))
  ------------------
  117|  1.03k|            while (objs--) {
  ------------------
  |  Branch (117:20): [True: 897, False: 133]
  ------------------
  118|    897|                fi->readx(h, 0x18);
  119|    897|                adam_offset += H4(4);
  ------------------
  |  |   93|    897|#define H4(x) get_le32(h + (x))
  ------------------
  120|    897|            }
  121|  15.2k|        } else if (memcmp(h, "LE", 2) == 0) {
  ------------------
  |  Branch (121:20): [True: 459, False: 14.7k]
  ------------------
  122|       |            // + (memory_pages-1)*memory_page_size+bytes_on_last_page
  123|    459|            unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    459|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    459|#define H4(x) get_le32(h + (x))
  ------------------
                          unsigned offs = exe_offset + (H4(0x14) - 1) * H4(0x28) + H4(0x2c);
  ------------------
  |  |   93|    459|#define H4(x) get_le32(h + (x))
  ------------------
  124|    459|            fi->seek(adam_offset + 0x80, SEEK_SET);
  125|    459|            fi->readx(h, 4);
  126|       |            // + data_pages_offset
  127|    459|            adam_offset = offs + H4(0);
  ------------------
  |  |   93|    459|#define H4(x) get_le32(h + (x))
  ------------------
  128|  14.7k|        } else if (memcmp(h, "Adam", 4) == 0) {
  ------------------
  |  Branch (128:20): [True: 122, False: 14.6k]
  ------------------
  129|    122|            break;
  130|    122|        } else
  131|  14.6k|            return 0;
  132|  17.0k|    }
  133|    218|    if (ic == 20)
  ------------------
  |  Branch (133:9): [True: 69, False: 149]
  ------------------
  134|     69|        return 0;
  135|       |
  136|    149|    fi->seek(adam_offset, SEEK_SET);
  137|    149|    fi->readx(&ih, sizeof(ih));
  138|       |
  139|       |    // TODO: could add more checks for the values in 'ih'
  140|    149|    const unsigned imagesize = ih.imagesize;
  141|    149|    const unsigned entry = ih.entry;
  142|    149|    const unsigned rsize = ih.relocsize;
  143|    149|    if (imagesize < sizeof(ih) || imagesize >= file_size_u || entry >= file_size_u ||
  ------------------
  |  Branch (143:9): [True: 30, False: 119]
  |  Branch (143:35): [True: 31, False: 88]
  |  Branch (143:63): [True: 25, False: 63]
  ------------------
  144|     74|        rsize >= file_size_u) {
  ------------------
  |  Branch (144:9): [True: 15, False: 48]
  ------------------
  145|     74|        throwCantPack("%s: bad header: imagesize=%#x entry=%#x relocsize=%#x", getName(), imagesize,
  146|     74|                      entry, rsize);
  147|      0|        return 0;
  148|     74|    }
  149|       |
  150|     75|    return UPX_F_TMT_ADAM;
  ------------------
  |  |  558|     75|#define UPX_F_TMT_ADAM            8
  ------------------
  151|    149|#undef H4
  152|    149|#undef H
  153|    149|}
_ZN7PackTmt9canUnpackEv:
  270|  14.8k|tribool PackTmt::canUnpack() {
  271|  14.8k|    if (!readFileHeader())
  ------------------
  |  Branch (271:9): [True: 14.2k, False: 577]
  ------------------
  272|  14.2k|        return false;
  273|    577|    fi->seek(adam_offset, SEEK_SET);
  274|    577|    return readPackHeader(512) ? 1 : -1;
  ------------------
  |  Branch (274:12): [True: 28, False: 549]
  ------------------
  275|  14.8k|}
_ZN7PackTmt6unpackEP10OutputFile:
  277|     28|void PackTmt::unpack(OutputFile *fo) {
  278|     28|    Packer::handleStub(fi, fo, adam_offset);
  279|       |
  280|     28|    ibuf.alloc(ph.c_len);
  281|     28|    obuf.allocForDecompression(ph.u_len);
  282|       |
  283|     28|    fi->seek(adam_offset + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  284|     28|    fi->readx(ibuf, ph.c_len);
  285|       |
  286|       |    // decompress
  287|     28|    decompress(ibuf, obuf);
  288|       |
  289|       |    // read extra_info
  290|     28|    const unsigned orig_entry = mem_size(1, get_le32(obuf + ph.u_len - 8));
  291|     28|    const unsigned orelocsize = mem_size(1, get_le32(obuf + ph.u_len - 4));
  292|     28|    const unsigned osize = mem_size(1, ph.u_len - orelocsize);
  293|       |
  294|       |    // unfilter
  295|     28|    if (ph.filter) {
  ------------------
  |  Branch (295:9): [True: 0, False: 28]
  ------------------
  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|     28|    SPAN_S_VAR(const byte, orelocs, raw_index_bytes(obuf, osize, orelocsize), orelocsize);
  ------------------
  |  |  214|     28|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     28|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     28|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  306|     28|    SPAN_S_VAR(byte, reloc_image, raw_index_bytes(obuf, 0, osize), osize);
  ------------------
  |  |  214|     28|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     28|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     28|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  307|     28|    MemBuffer mb_relocs;
  308|     28|    const unsigned relocnum = unoptimizeReloc(orelocs, mb_relocs, reloc_image, osize, 32, true);
  309|     28|    SPAN_S_VAR(byte, relocs, mb_relocs);
  ------------------
  |  |  214|     28|#define SPAN_S_VAR      XSPAN_S_VAR
  |  |  ------------------
  |  |  |  |  111|     28|    XSPAN_S(type) var(XSpanDebugFileMake(), (first), ##__VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  |   91|     28|#define XSPAN_S(type) Span<type>
  |  |  |  |  ------------------
  |  |  |  |                   XSPAN_S(type) var(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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  310|     28|    for (unsigned ic = 0; ic < relocnum; ic++)
  ------------------
  |  Branch (310:27): [True: 0, False: 28]
  ------------------
  311|      0|        set_le32(relocs + 4 * ic, get_le32(relocs + 4 * ic) + 4);
  312|       |
  313|     28|    memcpy(&oh, &ih, sizeof(oh));
  314|     28|    oh.imagesize = osize;
  315|     28|    oh.entry = orig_entry;
  316|     28|    oh.relocsize = relocnum * 4;
  317|       |
  318|     28|    const unsigned overlay = file_size - adam_offset - ih.imagesize - ih.relocsize - sizeof(ih);
  319|     28|    checkOverlay(overlay);
  320|       |
  321|       |    // write decompressed file
  322|     28|    if (fo) {
  ------------------
  |  Branch (322:9): [True: 0, False: 28]
  ------------------
  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|     28|    copyOverlay(fo, overlay, obuf);
  330|     28|}

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

_ZN7PackTosC2EP9InputFile:
   51|  2.82k|PackTos::PackTos(InputFile *f) : super(f) {
   52|  2.82k|    bele = &N_BELE_RTP::be_policy;
   53|  2.82k|    COMPILE_TIME_ASSERT(FH_SIZE == 28)
  ------------------
  |  |  247|  2.82k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  2.82k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|  2.82k|    COMPILE_TIME_ASSERT_ALIGNED1(tos_header_t)
  ------------------
  |  |  446|  2.82k|#define COMPILE_TIME_ASSERT_ALIGNED1(a) COMPILE_TIME_ASSERT_ALIGNOF__(a, char)
  |  |  ------------------
  |  |  |  |  443|  2.82k|    COMPILE_TIME_ASSERT_ALIGNOF_USING_SIZEOF__(a, b)                                               \
  |  |  |  |  ------------------
  |  |  |  |  |  |  428|  2.82k|    {                                                                                              \
  |  |  |  |  |  |  429|  2.82k|        typedef a acc_tmp_a_t;                                                                     \
  |  |  |  |  |  |  430|  2.82k|        typedef b acc_tmp_b_t;                                                                     \
  |  |  |  |  |  |  431|  2.82k|        struct alignas(1) acc_tmp_t {                                                              \
  |  |  |  |  |  |  432|  2.82k|            acc_tmp_b_t x;                                                                         \
  |  |  |  |  |  |  433|  2.82k|            acc_tmp_a_t y;                                                                         \
  |  |  |  |  |  |  434|  2.82k|            acc_tmp_b_t z;                                                                         \
  |  |  |  |  |  |  435|  2.82k|        };                                                                                         \
  |  |  |  |  |  |  436|  2.82k|        COMPILE_TIME_ASSERT(sizeof(struct acc_tmp_t) == 2 * sizeof(b) + sizeof(a))                 \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.82k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.82k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  437|  2.82k|        COMPILE_TIME_ASSERT(sizeof(((acc_tmp_t *) nullptr)->x) +                                   \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  247|  2.82k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2112|  2.82k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  438|  2.82k|                                sizeof(((acc_tmp_t *) nullptr)->y) +                               \
  |  |  |  |  |  |  439|  2.82k|                                sizeof(((acc_tmp_t *) nullptr)->z) ==                              \
  |  |  |  |  |  |  440|  2.82k|                            2 * sizeof(b) + sizeof(a))                                             \
  |  |  |  |  |  |  441|  2.82k|    }
  |  |  |  |  ------------------
  |  |  |  |  444|  2.82k|    COMPILE_TIME_ASSERT(__acc_alignof(a) == sizeof(b))                                             \
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.82k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.82k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  |  |  445|  2.82k|    COMPILE_TIME_ASSERT(alignof(a) == sizeof(b))
  |  |  |  |  ------------------
  |  |  |  |  |  |  247|  2.82k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2112|  2.82k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   55|  2.82k|}
_ZN7PackTos14readFileHeaderEv:
  260|  2.82k|int PackTos::readFileHeader() {
  261|  2.82k|    fi->seek(0, SEEK_SET);
  262|  2.82k|    fi->readx(&ih, FH_SIZE);
  ------------------
  |  |   49|  2.82k|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  263|  2.82k|    if (ih.fh_magic != 0x601a)
  ------------------
  |  Branch (263:9): [True: 2.73k, False: 86]
  ------------------
  264|  2.73k|        return 0;
  265|     86|    if (0ull + FH_SIZE + ih.fh_text + ih.fh_data + ih.fh_sym > file_size_u)
  ------------------
  |  |   49|     86|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  |  Branch (265:9): [True: 50, False: 36]
  ------------------
  266|     50|        return 0;
  267|     36|    return UPX_F_ATARI_TOS;
  ------------------
  |  |  598|     36|#define UPX_F_ATARI_TOS         129
  ------------------
  268|     86|}
_ZN7PackTos15checkFileHeaderEv:
  270|     22|bool PackTos::checkFileHeader() {
  271|     22|    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|     22|    if ((ih.fh_text & 1) || (ih.fh_data & 1))
  ------------------
  |  Branch (274:9): [True: 0, False: 22]
  |  Branch (274:29): [True: 0, False: 22]
  ------------------
  275|      0|        throwCantPack("odd size values in text/data");
  276|     22|    if (f & F_OS_SPECIAL)
  ------------------
  |  |  243|     22|#define F_OS_SPECIAL 0x8000 // mark as a special process
  ------------------
  |  Branch (276:9): [True: 1, False: 21]
  ------------------
  277|      1|        throwCantPack("I won't pack F_OS_SPECIAL programs");
  278|     21|    if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  247|     21|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) > F_PROT_I)
  ------------------
  |  |  252|     21|#define F_PROT_I   0x40 // invalid page
  ------------------
  |  Branch (278:9): [True: 1, False: 20]
  ------------------
  279|      1|        throwCantPack("invalid protection mode");
  280|     20|    if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  247|     20|#define F_PROTMODE 0xf0 // protection mode bits
  ------------------
                  if ((f & F_PROTMODE) != F_PROT_P) {
  ------------------
  |  |  248|     20|#define F_PROT_P   0x00 // no read or write
  ------------------
  |  Branch (280:9): [True: 1, False: 19]
  ------------------
  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|     19|    if (f & F_SHTEXT) {
  ------------------
  |  |  234|     19|#define F_SHTEXT   0x800 // program's text may be shared
  ------------------
  |  Branch (284:9): [True: 1, False: 18]
  ------------------
  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|     18|    return true;
  296|     19|}
_ZN7PackTos9canUnpackEv:
  677|  2.82k|tribool PackTos::canUnpack() {
  678|  2.82k|    if (!readFileHeader())
  ------------------
  |  Branch (678:9): [True: 2.78k, False: 36]
  ------------------
  679|  2.78k|        return false;
  680|     36|    if (!readPackHeader(768))
  ------------------
  |  Branch (680:9): [True: 3, False: 33]
  ------------------
  681|      3|        return false;
  682|       |    // check header as set by packer
  683|     33|    if ((ih.fh_text & 3) != 0 || (ih.fh_data & 3) != 0 || (ih.fh_bss & 3) != 0 || ih.fh_sym != 0 ||
  ------------------
  |  Branch (683:9): [True: 2, False: 31]
  |  Branch (683:34): [True: 1, False: 30]
  |  Branch (683:59): [True: 1, False: 29]
  |  Branch (683:83): [True: 3, False: 26]
  ------------------
  684|     26|        ih.fh_reserved != 0 || ih.fh_reloc > 1)
  ------------------
  |  Branch (684:9): [True: 3, False: 23]
  |  Branch (684:32): [True: 1, False: 22]
  ------------------
  685|     10|        throwCantUnpack("program header damaged");
  686|       |    // generic check
  687|     23|    if (!checkFileHeader())
  ------------------
  |  Branch (687:9): [True: 0, False: 23]
  ------------------
  688|      0|        throwCantUnpack("unsupported header flags");
  689|     23|    return true;
  690|     23|}
_ZN7PackTos6unpackEP10OutputFile:
  696|     18|void PackTos::unpack(OutputFile *fo) {
  697|     18|    ibuf.alloc(ph.c_len);
  698|     18|    obuf.allocForDecompression(ph.u_len);
  699|       |
  700|     18|    fi->seek(FH_SIZE + ph.buf_offset + ph.getPackHeaderSize(), SEEK_SET);
  ------------------
  |  |   49|     18|#define FH_SIZE sizeof(tos_header_t)
  ------------------
  701|     18|    fi->readx(ibuf, ph.c_len);
  702|       |
  703|       |    // decompress
  704|     18|    decompress(ibuf, obuf);
  705|       |
  706|       |    // write original header & decompressed file
  707|     18|    if (fo) {
  ------------------
  |  Branch (707:9): [True: 1, False: 17]
  ------------------
  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|     18|}

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

_ZN8PackUnixC2EP9InputFile:
   50|   189k|    super(f), exetype(0), blocksize(0), overlay_offset(0), lsize(0),
   51|   189k|    methods_used(0), szb_info(sizeof(b_info))
   52|   189k|{
   53|   189k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Ehdr) == 52)
  ------------------
  |  |  247|   189k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   189k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   54|   189k|    COMPILE_TIME_ASSERT(sizeof(Elf32_Phdr) == 32)
  ------------------
  |  |  247|   189k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   189k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   55|   189k|    COMPILE_TIME_ASSERT(sizeof(b_info) == 12)
  ------------------
  |  |  247|   189k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   189k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   56|   189k|    COMPILE_TIME_ASSERT(sizeof(l_info) == 12)
  ------------------
  |  |  247|   189k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   189k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   57|   189k|    COMPILE_TIME_ASSERT(sizeof(p_info) == 12)
  ------------------
  |  |  247|   189k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   189k|#    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|   189k|    saved_opt_android_shlib = opt->o_unix.android_shlib;
   64|   189k|    opt->o_unix.android_shlib = 0;  // Must apply selectively
   65|       |    // Besides, cannot figure out why asl_slide_Shdrs does not work.
   66|   189k|}
_ZN8PackUnixD2Ev:
   69|   189k|{
   70|   189k|    opt->o_unix.android_shlib = saved_opt_android_shlib;
   71|   189k|}
_ZN8PackUnix12unpackExtentEjP10OutputFileRjS2_bi:
  481|  1.58k|{
  482|  1.58k|    b_info hdr; memset(&hdr, 0, sizeof(hdr));
  483|  1.58k|    unsigned inlen = 0; // output index (if-and-only-if peeking)
  484|  19.7k|    while (wanted) {
  ------------------
  |  Branch (484:12): [True: 18.7k, False: 1.03k]
  ------------------
  485|  18.7k|        fi->readx(&hdr, szb_info);
  486|  18.7k|        int const sz_unc = ph.u_len = get_te32(&hdr.sz_unc);
  487|  18.7k|        int const sz_cpr = ph.c_len = get_te32(&hdr.sz_cpr);
  488|  18.7k|        ph.filter_cto = hdr.b_cto8;
  489|       |
  490|  18.7k|        if (sz_unc == 0 || M_LZMA < hdr.b_method) {
  ------------------
  |  |  626|  18.7k|#define M_LZMA        14
  ------------------
  |  Branch (490:13): [True: 10, False: 18.7k]
  |  Branch (490:28): [True: 76, False: 18.6k]
  ------------------
  491|     84|            throwCantUnpack("corrupt b_info");
  492|      0|            break;
  493|     84|        }
  494|  18.6k|        if (sz_unc <= 0 || sz_cpr <= 0)
  ------------------
  |  Branch (494:13): [True: 37, False: 18.6k]
  |  Branch (494:28): [True: 38, False: 18.5k]
  ------------------
  495|     73|            throwCantUnpack("corrupt b_info");
  496|  18.5k|        if (sz_cpr > sz_unc || sz_unc > (int)blocksize)
  ------------------
  |  Branch (496:13): [True: 44, False: 18.5k]
  |  Branch (496:32): [True: 41, False: 18.5k]
  ------------------
  497|     83|            throwCantUnpack("corrupt b_info");
  498|       |
  499|       |        // place the input for overlapping de-compression
  500|  18.5k|        int j = inlen + sz_unc + OVERHEAD - sz_cpr;
  501|  18.5k|        if (ibuf.getSize() < (unsigned)(j + sz_cpr)) {
  ------------------
  |  Branch (501:13): [True: 0, False: 18.5k]
  ------------------
  502|      0|            throwCantUnpack("corrupt b_info");
  503|      0|        }
  504|  18.5k|        fi->readx(ibuf+j, sz_cpr);
  505|  18.5k|        total_in += sz_cpr;
  506|       |        // update checksum of compressed data
  507|  18.5k|        c_adler = upx_adler32(ibuf + j, sz_cpr, c_adler);
  508|       |
  509|  18.5k|        if (sz_cpr < sz_unc) { // block was compressed
  ------------------
  |  Branch (509:13): [True: 15.9k, False: 2.61k]
  ------------------
  510|  15.9k|            ph.set_method(hdr.b_method);
  511|  15.9k|            decompress(ibuf+j, ibuf+inlen, false);
  512|  15.9k|            if (12==szb_info) { // modern per-block filter
  ------------------
  |  Branch (512:17): [True: 15.4k, False: 429]
  ------------------
  513|  15.4k|                if (hdr.b_ftid) {
  ------------------
  |  Branch (513:21): [True: 14.8k, False: 626]
  ------------------
  514|  14.8k|                    Filter ft(ph.level);  // FIXME: ph.level for b_info?
  515|  14.8k|                    ft.init(hdr.b_ftid, 0);
  516|  14.8k|                    ft.cto = hdr.b_cto8;
  517|  14.8k|                    ft.unfilter(ibuf+inlen, sz_unc);
  518|  14.8k|                }
  519|  15.4k|            }
  520|    429|            else { // ancient per-file filter
  521|    429|                if (first_PF_X) { // Elf32_Ehdr is never filtered
  ------------------
  |  Branch (521:21): [True: 0, False: 429]
  ------------------
  522|      0|                    first_PF_X = false;  // but everything else might be
  523|      0|                }
  524|    429|                else if (ph.filter) {
  ------------------
  |  Branch (524:26): [True: 0, False: 429]
  ------------------
  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|    429|            }
  531|  15.9k|        }
  532|  2.61k|        else if (sz_cpr == sz_unc) { // slide literal (non-compressible) block
  ------------------
  |  Branch (532:18): [True: 2.57k, False: 42]
  ------------------
  533|  2.57k|            memmove(&ibuf[inlen], &ibuf[j], sz_unc);
  534|  2.57k|        }
  535|       |        // update checksum of uncompressed data
  536|  18.5k|        u_adler = upx_adler32(ibuf + inlen, sz_unc, u_adler);
  537|       |        // write block
  538|  18.5k|        if (fo) {
  ------------------
  |  Branch (538:13): [True: 17.7k, False: 778]
  ------------------
  539|  17.7k|            if (is_rewrite) {
  ------------------
  |  Branch (539:17): [True: 182, False: 17.5k]
  ------------------
  540|    182|                fo->rewrite(ibuf, sz_unc);
  541|    182|            }
  542|  17.5k|            else {
  543|  17.5k|                fo->write(ibuf, sz_unc);
  544|  17.5k|                total_out += sz_unc;
  545|  17.5k|            }
  546|  17.7k|        }
  547|    778|        else if (is_rewrite < 0) { // append to &ibuf[inlen]
  ------------------
  |  Branch (547:18): [True: 303, False: 475]
  ------------------
  548|    303|            inlen += sz_unc;  // accounting; data is already there
  549|    303|            if (wanted <= (unsigned)sz_unc)  // done
  ------------------
  |  Branch (549:17): [True: 303, False: 0]
  ------------------
  550|    303|                break;
  551|    303|        }
  552|    475|        else if (wanted < (unsigned)sz_unc) // mismatched end-of-block
  ------------------
  |  Branch (552:18): [True: 0, False: 475]
  ------------------
  553|      0|            throwCantUnpack("corrupt b_info");
  554|    475|        else { // "upx -t": (!fo && !(is_rewrite < 0))
  555|       |            // No output.
  556|    475|        }
  557|  18.2k|        wanted -= sz_unc;
  558|  18.2k|    }
  559|  1.34k|    return inlen;
  560|  1.58k|}
_ZN8PackUnix9canUnpackEv:
  568|  29.5k|{
  569|  29.5k|    int const small = 32 + sizeof(overlay_offset);
  570|       |    // Allow zero-filled last page, for Mac OS X code signing.
  571|  29.5k|    int bufsize = 2*4096 + 2*small +1;
  572|  29.5k|    if (bufsize > fi->st_size())
  ------------------
  |  Branch (572:9): [True: 26.8k, False: 2.68k]
  ------------------
  573|  26.8k|        bufsize = fi->st_size();
  574|  29.5k|    MemBuffer buf(bufsize);
  575|       |
  576|       |    fi->seek(-(off_t)bufsize, SEEK_END);
  577|  29.5k|    fi->readx(buf, bufsize);
  578|  29.5k|    return find_overlay_offset(buf);
  579|  29.5k|}
_ZN8PackUnix19find_overlay_offsetERK9MemBuffer:
  582|  29.5k|{
  583|  29.5k|    int const small = 32 + sizeof(overlay_offset);
  584|  29.5k|    int const bufsize = buf.getSize();
  585|  29.5k|    int i = bufsize;
  586|   585k|    while (i > small && 0 == buf[--i]) { }
  ------------------
  |  Branch (586:12): [True: 584k, False: 50]
  |  Branch (586:25): [True: 555k, False: 29.5k]
  ------------------
  587|  29.5k|    i -= small;
  588|       |    // allow incompressible extents
  589|  29.5k|    if (i < 0 || !getPackHeader(buf + i, bufsize - i, true))
  ------------------
  |  Branch (589:9): [True: 0, False: 29.5k]
  |  Branch (589:18): [True: 24.7k, False: 4.85k]
  ------------------
  590|  24.4k|        return false;
  591|       |
  592|  5.08k|    int l = ph.buf_offset + ph.getPackHeaderSize();
  593|  5.08k|    if (l < 0 || i + l + 4 > bufsize)
  ------------------
  |  Branch (593:9): [True: 239, False: 4.85k]
  |  Branch (593:18): [True: 3, False: 4.84k]
  ------------------
  594|      3|        throwCantUnpack("file corrupted");
  595|  5.08k|    overlay_offset = get_te32(buf + i + l);
  596|  5.08k|    if ((off_t)overlay_offset >= file_size)
  ------------------
  |  Branch (596:9): [True: 27, False: 5.05k]
  ------------------
  597|     27|        throwCantUnpack("file corrupted");
  598|       |
  599|  5.05k|    return true;
  600|  5.08k|}
_ZN8PackUnix6unpackEP10OutputFile:
  610|  1.27k|{
  611|  1.27k|    b_info bhdr;
  612|  1.27k|    unsigned c_adler = upx_adler32(nullptr, 0);
  613|  1.27k|    unsigned u_adler = upx_adler32(nullptr, 0);
  614|       |
  615|  1.27k|    if (ph.version <= 11) {
  ------------------
  |  Branch (615:9): [True: 3, False: 1.27k]
  ------------------
  616|      3|        szb_info = sizeof(bhdr.sz_unc) + sizeof(bhdr.sz_cpr);  // old style
  617|      3|    }
  618|       |    // defaults for ph.version == 8
  619|  1.27k|    unsigned orig_file_size = 0;
  620|  1.27k|    blocksize = 512 * 1024;
  621|       |
  622|  1.27k|    fi->seek(overlay_offset, SEEK_SET);
  623|  1.27k|    if (ph.version > 8)
  ------------------
  |  Branch (623:9): [True: 1.27k, False: 0]
  ------------------
  624|  1.27k|    {
  625|  1.27k|        p_info hbuf;
  626|  1.27k|        fi->readx(&hbuf, sizeof(hbuf));
  627|  1.27k|        orig_file_size = get_te32(&hbuf.p_filesize);
  628|  1.27k|        blocksize = get_te32(&hbuf.p_blocksize);
  629|  1.27k|        off_t max_inflated = file_size * 273;  // zlib limit (256 + 16 + 1)
  ------------------
  |  |  216|  1.27k|#define off_t upx_off_t
  ------------------
  630|       |
  631|  1.27k|        if (max_inflated < orig_file_size
  ------------------
  |  Branch (631:13): [True: 8, False: 1.27k]
  ------------------
  632|  1.27k|        ||  max_inflated < blocksize
  ------------------
  |  Branch (632:13): [True: 15, False: 1.25k]
  ------------------
  633|  1.25k|        ||  file_size > (off_t)orig_file_size
  ------------------
  |  Branch (633:13): [True: 23, False: 1.23k]
  ------------------
  634|  1.23k|        ||  blocksize > orig_file_size) {
  ------------------
  |  Branch (634:13): [True: 11, False: 1.22k]
  ------------------
  635|     55|            throwCantUnpack("file header corrupted");
  636|     55|        }
  637|  1.27k|    }
  638|      0|    else
  639|      0|    {
  640|       |        // skip 4 bytes (program id)
  641|      0|        fi->seek(4, SEEK_CUR);
  642|      0|    }
  643|       |
  644|  1.22k|    if ((int)(blocksize + OVERHEAD) < 0)
  ------------------
  |  Branch (644:9): [True: 0, False: 1.22k]
  ------------------
  645|      0|        throwCantUnpack("blocksize corrupted");
  646|  1.22k|    ibuf.alloc(blocksize + OVERHEAD);
  647|       |
  648|       |    // decompress blocks
  649|  1.22k|    total_in = 0;
  650|  1.22k|    total_out = 0;
  651|  1.22k|    memset(&bhdr, 0, sizeof(bhdr));
  652|  1.22k|    for (;;)
  653|  5.39k|    {
  654|  5.39k|#define buf ibuf
  655|  5.39k|        int i;
  656|  5.39k|        unsigned sz_unc, sz_cpr;
  657|       |
  658|  5.39k|        fi->readx(&bhdr, szb_info);
  659|  5.39k|        ph.u_len = sz_unc = get_te32(&bhdr.sz_unc);
  660|  5.39k|        ph.c_len = sz_cpr = get_te32(&bhdr.sz_cpr);
  661|  5.39k|        if (szb_info < sizeof(b_info)) { // some upx version 11
  ------------------
  |  Branch (661:13): [True: 6, False: 5.38k]
  ------------------
  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.39k|        if (sz_unc == 0)                   // uncompressed size 0 -> EOF
  ------------------
  |  Branch (667:13): [True: 373, False: 5.01k]
  ------------------
  668|    373|        {
  669|       |            // note: must reload sz_cpr as magic is always stored le32
  670|    373|            sz_cpr = get_le32(&bhdr.sz_cpr);
  671|    373|            if (sz_cpr != UPX_MAGIC_LE32)  // sz_cpr must be h->magic
  ------------------
  |  |  534|    373|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  |  Branch (671:17): [True: 122, False: 251]
  ------------------
  672|    122|                throwCompressedDataViolation();
  673|    251|            break;
  674|    373|        }
  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.01k|        if (sz_unc <= 0 || sz_cpr <= 5u
  ------------------
  |  Branch (680:13): [True: 4, False: 5.01k]
  |  Branch (680:28): [True: 14, False: 5.00k]
  ------------------
  681|  5.00k|        ||  sz_cpr > sz_unc || sz_unc > blocksize)
  ------------------
  |  Branch (681:13): [True: 110, False: 4.89k]
  |  Branch (681:32): [True: 199, False: 4.69k]
  ------------------
  682|    323|            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|  4.69k|        i = blocksize + OVERHEAD - upx::umax(12u, sz_cpr);
  689|  4.69k|        if (i < 0)
  ------------------
  |  Branch (689:13): [True: 0, False: 4.69k]
  ------------------
  690|      0|            throwCantUnpack("corrupt b_info %#x %#x", sz_cpr, blocksize);
  691|  4.69k|        fi->readx(buf+i, sz_cpr);
  ------------------
  |  |  654|  9.39k|#define buf ibuf
  ------------------
  692|       |        // update checksum of compressed data
  693|  4.69k|        c_adler = upx_adler32(buf + i, sz_cpr, c_adler);
  ------------------
  |  |  654|  9.39k|#define buf ibuf
  ------------------
  694|       |        // decompress
  695|  4.69k|        if (sz_cpr < sz_unc) {
  ------------------
  |  Branch (695:13): [True: 3.41k, False: 1.28k]
  ------------------
  696|  3.41k|            decompress(buf+i, buf, false);
  ------------------
  |  |  654|  6.82k|#define buf ibuf
  ------------------
                          decompress(buf+i, buf, false);
  ------------------
  |  |  654|  3.41k|#define buf ibuf
  ------------------
  697|  3.41k|            if (0!=bhdr.b_ftid) {
  ------------------
  |  Branch (697:17): [True: 2.89k, False: 524]
  ------------------
  698|  2.89k|                Filter ft(ph.level);
  699|  2.89k|                ft.init(bhdr.b_ftid);
  700|  2.89k|                ft.cto = bhdr.b_cto8;
  701|  2.89k|                ft.unfilter(buf, sz_unc);
  ------------------
  |  |  654|  2.89k|#define buf ibuf
  ------------------
  702|  2.89k|            }
  703|  3.41k|            i = 0;
  704|  3.41k|        }
  705|       |        // update checksum of uncompressed data
  706|  4.69k|        u_adler = upx_adler32(buf + i, sz_unc, u_adler);
  ------------------
  |  |  654|  9.39k|#define buf ibuf
  ------------------
  707|  4.69k|        total_in  += sz_cpr;
  708|  4.69k|        total_out += sz_unc;
  709|       |        // write block
  710|  4.69k|        if (fo)
  ------------------
  |  Branch (710:13): [True: 4.16k, False: 526]
  ------------------
  711|  4.16k|            fo->write(buf + i, sz_unc);
  ------------------
  |  |  654|  8.33k|#define buf ibuf
  ------------------
  712|  4.69k|#undef buf
  713|  4.69k|    }
  714|       |
  715|       |    // update header with totals
  716|    779|    ph.c_len = total_in;
  717|    779|    ph.u_len = total_out;
  718|       |
  719|       |    // all bytes must be written
  720|    779|    if (ph.version > 8 && total_out != orig_file_size)
  ------------------
  |  Branch (720:9): [True: 251, False: 528]
  |  Branch (720:27): [True: 16, False: 235]
  ------------------
  721|     16|        throwEOFException();
  722|       |
  723|       |    // finally test the checksums
  724|    763|    if (ph.c_adler != c_adler || ph.u_adler != u_adler)
  ------------------
  |  Branch (724:9): [True: 758, False: 5]
  |  Branch (724:34): [True: 2, False: 3]
  ------------------
  725|    232|        throwChecksumError();
  726|    763|}

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

_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.5k|    super(f),
   65|  27.5k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.5k|    my_boot_label(boot_label),
   67|  27.5k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.5k|{
   69|  27.5k|    ElfClass::compileTimeAssertions();
   70|  27.5k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEED2Ev:
   75|  27.5k|{
   76|  27.5k|    delete [] phdri;
   77|  27.5k|    delete [] shdri;
   78|  27.5k|    delete [] shstrtab;
   79|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE14getElfSectionsEv:
  120|    291|{
  121|    291|    unsigned const e_shnum = ehdri.e_shnum;
  122|    291|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 291]
  ------------------
  123|    291|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 291]
  ------------------
  124|    291|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 291]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    291|    shdri = new Shdr[(unsigned) e_shnum];
  129|    291|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    291|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    291|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    291|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 9, False: 282]
  ------------------
  133|      9|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      9|        return nullptr;
  135|      9|    }
  136|    282|    Shdr const *p = &shdri[e_shstrndx];
  137|    282|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 241, False: 41]
  ------------------
  138|    241|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 224, False: 17]
  ------------------
  139|    224|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 207, False: 17]
  ------------------
  140|    207|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 200, False: 7]
  ------------------
  141|    200|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 199, False: 1]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    282|    ) {
  144|    199|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 16, False: 183]
  ------------------
  145|     16|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|     16|            return nullptr;
  147|     16|        }
  148|    183|        shstrtab = new char[1+ p->sh_size];
  149|    183|        fi->seek(p->sh_offset, SEEK_SET);
  150|    183|        fi->readx(shstrtab, p->sh_size);
  151|    183|        shstrtab[p->sh_size] = '\0';
  152|    183|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 106, False: 77]
  ------------------
  153|    106|            return p;
  154|    106|        }
  155|    183|    }
  156|    160|    return nullptr;
  157|    282|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8BEPolicyEEEE9canUnpackEv:
  571|  27.5k|{
  572|  27.5k|    fi->seek(0, SEEK_SET);
  573|  27.5k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  27.5k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.77k, False: 17.8k]
  ------------------
  577|  17.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 8.08k, False: 9.72k]
  ------------------
  578|  9.72k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 5.22k, False: 4.50k]
  ------------------
  579|  4.50k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 770, False: 3.73k]
  ------------------
  580|  3.73k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 2, False: 3.72k]
  ------------------
  581|  3.72k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.33k, False: 1.39k]
  ------------------
  582|  1.39k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 14, False: 1.38k]
  ------------------
  583|  1.38k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 132, False: 1.25k]
  ------------------
  584|  27.5k|    )
  585|  26.3k|        return false;
  586|       |
  587|  1.25k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 946, False: 307]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    307|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 6, False: 301]
  ------------------
  590|    301|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 1, False: 300]
  ------------------
  591|    300|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 9, False: 291]
  ------------------
  592|  1.25k|    )
  593|    962|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    291|    Shdr const *const shstrsec = getElfSections();
  597|    291|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 185, False: 106]
  ------------------
  598|    185|        return false;
  599|    185|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    106|    p_note0 = p_note1 = p_text = nullptr;
  603|    106|    int j;
  604|    106|    Shdr *p;
  605|  10.5k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 10.4k, False: 106]
  ------------------
  606|  10.4k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 6.70k, False: 3.77k]
  ------------------
  607|  3.77k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 237, False: 3.53k]
  ------------------
  608|  8.14k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 1.20k, False: 2.33k]
  ------------------
  609|  8.14k|            continue;
  610|  8.14k|        }
  611|  2.33k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 82, False: 2.25k]
  ------------------
  612|     82|            p_text = p;
  613|     82|        }
  614|  2.33k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 87, False: 2.24k]
  ------------------
  615|     87|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 15, False: 72]
  ------------------
  616|     15|                p_note0 = p;
  617|     15|            } else
  618|     72|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 14, False: 58]
  ------------------
  619|     14|                p_note1 = p;
  620|     14|            }
  621|     87|        }
  622|  2.33k|    }
  623|    106|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 87, False: 19]
  |  Branch (623:28): [True: 13, False: 6]
  |  Branch (623:48): [True: 1, False: 5]
  ------------------
  624|    101|        return false;
  625|    101|    }
  626|       |
  627|      5|    char buf[1024];
  628|      5|    fi->seek(p_text->sh_offset + p_text->sh_size - sizeof(buf), SEEK_SET);
  629|      5|    fi->readx(buf, sizeof(buf));
  630|      5|    if (!getPackHeader(buf, sizeof(buf)))
  ------------------
  |  Branch (630:9): [True: 2, False: 3]
  ------------------
  631|      2|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      3|    return true;
  634|      5|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.5k|    super(f),
   65|  27.5k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.5k|    my_boot_label(boot_label),
   67|  27.5k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.5k|{
   69|  27.5k|    ElfClass::compileTimeAssertions();
   70|  27.5k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  27.5k|{
   76|  27.5k|    delete [] phdri;
   77|  27.5k|    delete [] shdri;
   78|  27.5k|    delete [] shstrtab;
   79|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    324|{
  121|    324|    unsigned const e_shnum = ehdri.e_shnum;
  122|    324|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 324]
  ------------------
  123|    324|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 0, False: 324]
  ------------------
  124|    324|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 324]
  ------------------
  125|      0|        infoWarning("bad ElfXX_Shdrs");
  126|      0|        return nullptr;
  127|      0|    }
  128|    324|    shdri = new Shdr[(unsigned) e_shnum];
  129|    324|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    324|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    324|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    324|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 1, False: 323]
  ------------------
  133|      1|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      1|        return nullptr;
  135|      1|    }
  136|    323|    Shdr const *p = &shdri[e_shstrndx];
  137|    323|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 267, False: 56]
  ------------------
  138|    267|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 240, False: 27]
  ------------------
  139|    240|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 217, False: 23]
  ------------------
  140|    217|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 182, False: 35]
  ------------------
  141|    182|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 180, False: 2]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    323|    ) {
  144|    180|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 5, False: 175]
  ------------------
  145|      5|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      5|            return nullptr;
  147|      5|        }
  148|    175|        shstrtab = new char[1+ p->sh_size];
  149|    175|        fi->seek(p->sh_offset, SEEK_SET);
  150|    175|        fi->readx(shstrtab, p->sh_size);
  151|    175|        shstrtab[p->sh_size] = '\0';
  152|    175|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 107, False: 68]
  ------------------
  153|    107|            return p;
  154|    107|        }
  155|    175|    }
  156|    211|    return nullptr;
  157|    323|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  27.5k|{
  572|  27.5k|    fi->seek(0, SEEK_SET);
  573|  27.5k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  27.5k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.77k, False: 17.8k]
  ------------------
  577|  17.8k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 8.08k, False: 9.72k]
  ------------------
  578|  9.72k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 4.80k, False: 4.91k]
  ------------------
  579|  4.91k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 528, False: 4.38k]
  ------------------
  580|  4.38k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 12, False: 4.37k]
  ------------------
  581|  4.37k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 2.29k, False: 2.08k]
  ------------------
  582|  2.08k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 126, False: 1.95k]
  ------------------
  583|  1.95k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 995, False: 959]
  ------------------
  584|  27.5k|    )
  585|  26.6k|        return false;
  586|       |
  587|    959|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 608, False: 351]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    351|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 18, False: 333]
  ------------------
  590|    333|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 1, False: 332]
  ------------------
  591|    332|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 8, False: 324]
  ------------------
  592|    959|    )
  593|    635|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    324|    Shdr const *const shstrsec = getElfSections();
  597|    324|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 217, False: 107]
  ------------------
  598|    217|        return false;
  599|    217|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    107|    p_note0 = p_note1 = p_text = nullptr;
  603|    107|    int j;
  604|    107|    Shdr *p;
  605|   105k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 105k, False: 107]
  ------------------
  606|   105k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 66.3k, False: 38.9k]
  ------------------
  607|  38.9k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 1.79k, False: 37.1k]
  ------------------
  608|  80.7k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 12.6k, False: 24.5k]
  ------------------
  609|  80.7k|            continue;
  610|  80.7k|        }
  611|  24.5k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 283, False: 24.2k]
  ------------------
  612|    283|            p_text = p;
  613|    283|        }
  614|  24.5k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 270, False: 24.2k]
  ------------------
  615|    270|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 19, False: 251]
  ------------------
  616|     19|                p_note0 = p;
  617|     19|            } else
  618|    251|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 17, False: 234]
  ------------------
  619|     17|                p_note1 = p;
  620|     17|            }
  621|    270|        }
  622|  24.5k|    }
  623|    107|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 82, False: 25]
  |  Branch (623:28): [True: 18, False: 7]
  |  Branch (623:48): [True: 1, False: 6]
  ------------------
  624|    101|        return false;
  625|    101|    }
  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: 3, False: 3]
  ------------------
  631|      3|        return -1; // format is known, but definitely is not packed
  632|       |
  633|      3|    return true;
  634|      6|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEEC2EP9InputFilejjjPKc:
   64|  27.5k|    super(f),
   65|  27.5k|    my_e_machine(e_machine), my_elfclass(elfclass), my_elfdata(elfdata),
   66|  27.5k|    my_boot_label(boot_label),
   67|  27.5k|    n_ptload(0), phdri(nullptr), shdri(nullptr), shstrtab(nullptr)
   68|  27.5k|{
   69|  27.5k|    ElfClass::compileTimeAssertions();
   70|  27.5k|    bele = N_BELE_CTP::getRTP((const BeLePolicy*) nullptr);
   71|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEED2Ev:
   75|  27.5k|{
   76|  27.5k|    delete [] phdri;
   77|  27.5k|    delete [] shdri;
   78|  27.5k|    delete [] shstrtab;
   79|  27.5k|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE14getElfSectionsEv:
  120|    462|{
  121|    462|    unsigned const e_shnum = ehdri.e_shnum;
  122|    462|    if (ehdri.e_shentsize != sizeof(*shdri)
  ------------------
  |  Branch (122:9): [True: 0, False: 462]
  ------------------
  123|    462|    ||  file_size_u < ehdri.e_shoff
  ------------------
  |  Branch (123:9): [True: 20, False: 442]
  ------------------
  124|    442|    ||  file_size_u < ehdri.e_shoff + mem_size(ehdri.e_shentsize, e_shnum)) {
  ------------------
  |  Branch (124:9): [True: 0, False: 442]
  ------------------
  125|     20|        infoWarning("bad ElfXX_Shdrs");
  126|     20|        return nullptr;
  127|     20|    }
  128|    442|    shdri = new Shdr[(unsigned) e_shnum];
  129|    442|    fi->seek(ehdri.e_shoff, SEEK_SET);
  130|    442|    fi->readx(shdri, e_shnum * sizeof(*shdri));
  131|    442|    unsigned const e_shstrndx = ehdri.e_shstrndx;
  132|    442|    if (e_shnum <= e_shstrndx) {
  ------------------
  |  Branch (132:9): [True: 7, False: 435]
  ------------------
  133|      7|        infoWarning("bad .e_shstrndx %#x", e_shstrndx);
  134|      7|        return nullptr;
  135|      7|    }
  136|    435|    Shdr const *p = &shdri[e_shstrndx];
  137|    435|    if (Shdr::SHT_STRTAB==p->sh_type
  ------------------
  |  Branch (137:9): [True: 421, False: 14]
  ------------------
  138|    421|    &&  p->sh_offset  <= (file_size_u - sizeof(*shdri))
  ------------------
  |  Branch (138:9): [True: 341, False: 80]
  ------------------
  139|    341|    &&  p->sh_size    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (139:9): [True: 254, False: 87]
  ------------------
  140|    254|    &&  p->sh_name    <= (file_size_u - p->sh_offset)
  ------------------
  |  Branch (140:9): [True: 252, False: 2]
  ------------------
  141|    252|    &&  10            <= (file_size_u - p->sh_name)
  ------------------
  |  Branch (141:9): [True: 249, False: 3]
  ------------------
  142|       |        // 10 == (1+ strlen(".shstrtab"))
  143|    435|    ) {
  144|    249|        if (p->sh_size <= p->sh_name) {
  ------------------
  |  Branch (144:13): [True: 7, False: 242]
  ------------------
  145|      7|            infoWarning("bad .shstrtab _Shdr[%u]", (unsigned)ehdri.e_shstrndx);
  146|      7|            return nullptr;
  147|      7|        }
  148|    242|        shstrtab = new char[1+ p->sh_size];
  149|    242|        fi->seek(p->sh_offset, SEEK_SET);
  150|    242|        fi->readx(shstrtab, p->sh_size);
  151|    242|        shstrtab[p->sh_size] = '\0';
  152|    242|        if (0==strcmp(".shstrtab", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (152:13): [True: 157, False: 85]
  ------------------
  153|    157|            return p;
  154|    157|        }
  155|    242|    }
  156|    271|    return nullptr;
  157|    435|}
_ZN15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE9canUnpackEv:
  571|  27.5k|{
  572|  27.5k|    fi->seek(0, SEEK_SET);
  573|  27.5k|    fi->readx(&ehdri, sizeof(ehdri));
  574|       |
  575|       |    // now check the ELF header
  576|  27.5k|    if (memcmp(&ehdri, "\x7f\x45\x4c\x46", 4)
  ------------------
  |  Branch (576:9): [True: 9.77k, False: 17.7k]
  ------------------
  577|  17.7k|    ||  ehdri.e_ident[Ehdr::EI_CLASS] != my_elfclass
  ------------------
  |  Branch (577:9): [True: 9.76k, False: 8.03k]
  ------------------
  578|  8.03k|    ||  ehdri.e_ident[Ehdr::EI_DATA] != my_elfdata
  ------------------
  |  Branch (578:9): [True: 2.18k, False: 5.85k]
  ------------------
  579|  5.85k|    ||  ehdri.e_ident[Ehdr::EI_VERSION] != Ehdr::EV_CURRENT
  ------------------
  |  Branch (579:9): [True: 268, False: 5.58k]
  ------------------
  580|  5.58k|    ||  !memcmp(&ehdri.e_ident[8], "FreeBSD", 7)  // branded
  ------------------
  |  Branch (580:9): [True: 2, False: 5.58k]
  ------------------
  581|  5.58k|    ||  ehdri.e_machine != my_e_machine
  ------------------
  |  Branch (581:9): [True: 3.13k, False: 2.45k]
  ------------------
  582|  2.45k|    ||  ehdri.e_version != 1  // version
  ------------------
  |  Branch (582:9): [True: 365, False: 2.08k]
  ------------------
  583|  2.08k|    ||  ehdri.e_ehsize != sizeof(ehdri)  // different <elf.h> ?
  ------------------
  |  Branch (583:9): [True: 182, False: 1.90k]
  ------------------
  584|  27.5k|    )
  585|  25.6k|        return false;
  586|       |
  587|  1.90k|    if (ehdri.e_type != Ehdr::ET_REL
  ------------------
  |  Branch (587:9): [True: 1.35k, False: 546]
  ------------------
  588|       |    //i386 fails  ||  ehdri.e_shoff != sizeof(ehdri)  // Shdr not contiguous with Ehdr
  589|    546|    ||  ehdri.e_shentsize!=sizeof(Shdr)
  ------------------
  |  Branch (589:9): [True: 8, False: 538]
  ------------------
  590|    538|    ||  ehdri.e_shnum < 4
  ------------------
  |  Branch (590:9): [True: 3, False: 535]
  ------------------
  591|    535|    ||  (unsigned)file_size < (ehdri.e_shnum * sizeof(Shdr) + ehdri.e_shoff)
  ------------------
  |  Branch (591:9): [True: 73, False: 462]
  ------------------
  592|  1.90k|    )
  593|  1.44k|        return false;
  594|       |
  595|       |    // find the .shstrtab section
  596|    462|    Shdr const *const shstrsec = getElfSections();
  597|    462|    if (nullptr==shstrsec) {
  ------------------
  |  Branch (597:9): [True: 305, False: 157]
  ------------------
  598|    305|        return false;
  599|    305|    }
  600|       |
  601|       |    // check for .text .note .note  and sane (.sh_size + .sh_offset)
  602|    157|    p_note0 = p_note1 = p_text = nullptr;
  603|    157|    int j;
  604|    157|    Shdr *p;
  605|  36.1k|    for (p= shdri, j= ehdri.e_shnum; --j>=0; ++p) {
  ------------------
  |  Branch (605:38): [True: 35.9k, False: 157]
  ------------------
  606|  35.9k|        if ((unsigned)file_size < (p->sh_size + p->sh_offset)
  ------------------
  |  Branch (606:13): [True: 30.8k, False: 5.17k]
  ------------------
  607|  5.17k|        || (5+ p->sh_name) < p->sh_name  // wrap: ignore malformed
  ------------------
  |  Branch (607:12): [True: 434, False: 4.74k]
  ------------------
  608|  33.1k|        ||  shstrsec->sh_size < (5+ p->sh_name) ) {
  ------------------
  |  Branch (608:13): [True: 1.85k, False: 2.89k]
  ------------------
  609|  33.1k|            continue;
  610|  33.1k|        }
  611|  2.89k|        if (0==strcmp(".text", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (611:13): [True: 85, False: 2.80k]
  ------------------
  612|     85|            p_text = p;
  613|     85|        }
  614|  2.89k|        if (0==strcmp(".note", shstrtab + p->sh_name)) {
  ------------------
  |  Branch (614:13): [True: 102, False: 2.78k]
  ------------------
  615|    102|            if (nullptr==p_note0) {
  ------------------
  |  Branch (615:17): [True: 16, False: 86]
  ------------------
  616|     16|                p_note0 = p;
  617|     16|            } else
  618|     86|            if (nullptr==p_note1) {
  ------------------
  |  Branch (618:17): [True: 13, False: 73]
  ------------------
  619|     13|                p_note1 = p;
  620|     13|            }
  621|    102|        }
  622|  2.89k|    }
  623|    157|    if (nullptr==p_text || nullptr==p_note0 || nullptr==p_note1) {
  ------------------
  |  Branch (623:9): [True: 145, False: 12]
  |  Branch (623:28): [True: 9, False: 3]
  |  Branch (623:48): [True: 1, False: 2]
  ------------------
  624|    155|        return false;
  625|    155|    }
  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|  27.5k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_32IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   63|  27.5k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxBaseIN5N_Elf11ElfClass_64IN10N_BELE_CTP8LEPolicyEEEE10getVersionEv:
   63|  27.5k|    virtual int getVersion() const override { return 13; }
_ZNK15PackVmlinuxI3869getFormatEv:
  104|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_i386; }
  ------------------
  |  |  569|  13.7k|#define UPX_F_VMLINUX_i386        19
  ------------------
_ZNK16PackVmlinuxARMEL9getFormatEv:
  129|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARM; }
  ------------------
  |  |  578|  13.7k|#define UPX_F_VMLINUX_ARM         28
  ------------------
_ZNK16PackVmlinuxARMEB9getFormatEv:
  153|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_ARMEB; }
  ------------------
  |  |  604|  13.7k|#define UPX_F_VMLINUX_ARMEB     135
  ------------------
_ZNK16PackVmlinuxPPC329getFormatEv:
  177|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC32; }
  ------------------
  |  |  605|  13.7k|#define UPX_F_VMLINUX_PPC32     136
  ------------------
_ZNK18PackVmlinuxPPC64LE9getFormatEv:
  201|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_PPC64LE; }
  ------------------
  |  |  590|  13.7k|#define UPX_F_VMLINUX_PPC64LE     40
  ------------------
_ZNK16PackVmlinuxAMD649getFormatEv:
  226|  13.7k|    virtual int getFormat() const override { return UPX_F_VMLINUX_AMD64; }
  ------------------
  |  |  577|  13.7k|#define UPX_F_VMLINUX_AMD64       27
  ------------------
_ZN15PackVmlinuxI386C2EP9InputFile:
  102|  13.7k|    PackVmlinuxI386(InputFile *f) : super(f, Ehdr::EM_386,
  103|  13.7k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "startup_32") { }
_ZN16PackVmlinuxARMELC2EP9InputFile:
  127|  13.7k|    PackVmlinuxARMEL(InputFile *f) : super(f, Ehdr::EM_ARM,
  128|  13.7k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2LSB, "decompress_kernel") { }
_ZN16PackVmlinuxARMEBC2EP9InputFile:
  151|  13.7k|    PackVmlinuxARMEB(InputFile *f) : super(f, Ehdr::EM_ARM,
  152|  13.7k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "decompress_kernel") { }
_ZN16PackVmlinuxPPC32C2EP9InputFile:
  175|  13.7k|    PackVmlinuxPPC32(InputFile *f) : super(f, Ehdr::EM_PPC,
  176|  13.7k|        Ehdr::ELFCLASS32, Ehdr::ELFDATA2MSB, "_vmlinux_start") { }
_ZN18PackVmlinuxPPC64LEC2EP9InputFile:
  199|  13.7k|    PackVmlinuxPPC64LE(InputFile *f) : super(f, Ehdr::EM_PPC64,
  200|  13.7k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "_vmlinux_start") { }
_ZN16PackVmlinuxAMD64C2EP9InputFile:
  224|  13.7k|    PackVmlinuxAMD64(InputFile *f) : super(f, Ehdr::EM_X86_64,
  225|  13.7k|        Ehdr::ELFCLASS64, Ehdr::ELFDATA2LSB, "startup_32") { }

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

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

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

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

_ZN14PackW64PeAmd64C2EP9InputFile:
   50|  14.3k|PackW64PeAmd64::PackW64PeAmd64(InputFile *f) : super(f) { use_stub_relocs = false; }
_ZN14PackW64PeAmd64D2Ev:
   52|  14.3k|PackW64PeAmd64::~PackW64PeAmd64() noexcept {}
_ZN14PackW64PeAmd647canPackEv:
   70|  14.3k|tribool PackW64PeAmd64::canPack() {
   71|  14.3k|    if (!readFileHeader())
  ------------------
  |  Branch (71:9): [True: 13.8k, False: 485]
  ------------------
   72|  13.8k|        return false;
   73|    485|    checkMachine(ih.cpu);
   74|    485|    if (ih.cpu != IMAGE_FILE_MACHINE_AMD64)
  ------------------
  |  Branch (74:9): [True: 216, False: 269]
  ------------------
   75|    216|        return false;
   76|    269|    return true;
   77|    485|}
_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|  14.6k|    virtual int getFormat() const override { return UPX_F_W64PE_AMD64; }
  ------------------
  |  |  586|  14.6k|#define UPX_F_W64PE_AMD64         36
  ------------------
_ZNK14PackW64PeAmd647getNameEv:
   41|      3|    virtual const char *getName() const override { return "win64/pe"; }

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

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

_ZN12PackWinCeArmC2EP9InputFile:
   47|  13.9k|PackWinCeArm::PackWinCeArm(InputFile *f) : super(f) {}
_ZN12PackWinCeArmD2Ev:
   49|  13.9k|PackWinCeArm::~PackWinCeArm() noexcept {}
_ZN12PackWinCeArm7canPackEv:
  116|  13.9k|tribool PackWinCeArm::canPack() {
  117|  13.9k|    if (!readFileHeader())
  ------------------
  |  Branch (117:9): [True: 13.8k, False: 169]
  ------------------
  118|  13.8k|        return false;
  119|    169|    checkMachine(ih.cpu);
  120|    169|    if (ih.cpu != IMAGE_FILE_MACHINE_ARM && ih.cpu != IMAGE_FILE_MACHINE_THUMB)
  ------------------
  |  Branch (120:9): [True: 57, False: 112]
  |  Branch (120:45): [True: 55, False: 2]
  ------------------
  121|     55|        return false;
  122|    114|    use_thumb_stub |= ih.cpu == IMAGE_FILE_MACHINE_THUMB || (ih.entry & 1) == 1;
  ------------------
  |  Branch (122:23): [True: 49, False: 65]
  |  Branch (122:61): [True: 36, False: 29]
  ------------------
  123|       |    // HACK FIXME later: don't misuse opt->cpu_x86, need an extra option to force thumb stub
  124|    114|    use_thumb_stub |= (opt->cpu_x86 == opt->CPU_8086);
  125|    114|    return true;
  126|    169|}
_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|  14.2k|    virtual int getFormat() const override { return UPX_F_WINCE_ARM; }
  ------------------
  |  |  571|  14.2k|#define UPX_F_WINCE_ARM           21 // Windows CE
  ------------------
_ZNK12PackWinCeArm7getNameEv:
   41|      1|    virtual const char *getName() const override { return "wince/arm"; }

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

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

_ZN6Packer24isValidCompressionMethodEi:
   36|   106k|/*static*/ bool Packer::isValidCompressionMethod(int m) {
   37|   106k|    return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  641|   212k|#define M_IS_LZMA(x)    (((x) &255) == M_LZMA)
  |  |  ------------------
  |  |  |  |  626|   106k|#define M_LZMA        14
  |  |  ------------------
  |  |  |  Branch (641:25): [True: 100k, False: 5.38k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  637|   111k|#define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  614|  10.7k|#define M_NRV2B_LE32  2
  |  |  ------------------
  |  |               #define M_IS_NRV2B(x)   ((x) >= M_NRV2B_LE32 && (x) <= M_NRV2B_LE16)
  |  |  ------------------
  |  |  |  |  616|  5.38k|#define M_NRV2B_LE16  4
  |  |  ------------------
  |  |  |  Branch (637:26): [True: 5.38k, False: 1]
  |  |  |  Branch (637:49): [True: 3.73k, False: 1.64k]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  638|   107k|#define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  617|  3.29k|#define M_NRV2D_LE32  5
  |  |  ------------------
  |  |               #define M_IS_NRV2D(x)   ((x) >= M_NRV2D_LE32 && (x) <= M_NRV2D_LE16)
  |  |  ------------------
  |  |  |  |  619|  1.64k|#define M_NRV2D_LE16  7
  |  |  ------------------
  |  |  |  Branch (638:26): [True: 1.64k, False: 1]
  |  |  |  Branch (638:49): [True: 790, False: 856]
  |  |  ------------------
  ------------------
                  return M_IS_LZMA(m) || M_IS_NRV2B(m) || M_IS_NRV2D(m) || M_IS_NRV2E(m);
  ------------------
  |  |  639|    857|#define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  620|  1.71k|#define M_NRV2E_LE32  8
  |  |  ------------------
  |  |               #define M_IS_NRV2E(x)   ((x) >= M_NRV2E_LE32 && (x) <= M_NRV2E_LE16)
  |  |  ------------------
  |  |  |  |  622|    856|#define M_NRV2E_LE16  10
  |  |  ------------------
  |  |  |  Branch (639:26): [True: 856, False: 1]
  |  |  |  Branch (639:49): [True: 853, False: 3]
  |  |  ------------------
  ------------------
   38|   106k|}

_ZN6Packer15unoptimizeRelocERN5XSpan4SpanIKhEER9MemBufferNS0_9PtrOrSpanIhEEjib:
  110|      5|                                 unsigned image_size, int bits, bool bswap) {
  111|      5|    assert(bits == 32 || bits == 64);
  ------------------
  |  |  493|      5|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     10|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 5, False: 0]
  |  |  |  |  |  Branch (1558:47): [True: 4, 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|      5|#if WITH_XSPAN >= 2
  114|      5|    ptr_check_no_overlap(in.data(), in.size_bytes(), image.data(image_size), image_size);
  115|      5|#endif
  116|      5|    SPAN_S_VAR(const byte, fix, in);
  ------------------
  |  |  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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  117|       |
  118|       |    // count
  119|      5|    unsigned relocnum = 0;
  120|  59.8k|    for (fix = in; *fix; fix++, relocnum++) {
  ------------------
  |  Branch (120:20): [True: 59.8k, False: 5]
  ------------------
  121|  59.8k|        if (*fix >= 0xf0) {
  ------------------
  |  Branch (121:13): [True: 1.34k, False: 58.5k]
  ------------------
  122|  1.34k|            if (*fix == 0xf0 && get_le16(fix + 1) == 0)
  ------------------
  |  Branch (122:17): [True: 1.33k, False: 11]
  |  Branch (122:17): [True: 0, False: 1.34k]
  |  Branch (122:33): [True: 0, False: 1.33k]
  ------------------
  123|      0|                fix += 4;
  124|  1.34k|            fix += 2;
  125|  1.34k|        }
  126|  59.8k|    }
  127|      5|    NO_fprintf(stderr, "relocnum=%x\n", relocnum);
  128|      5|    if (0) {
  ------------------
  |  Branch (128:9): [Folded, False: 5]
  ------------------
  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|      5|    out.alloc(mem_size(4, relocnum + 1)); // one extra entry
  136|      5|    SPAN_S_VAR(LE32, relocs, out);
  ------------------
  |  |  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
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  137|       |
  138|      5|    fix = in;
  139|      5|    unsigned pc = (unsigned) -4;
  140|  59.8k|    for (unsigned i = 0; i < relocnum; i++) {
  ------------------
  |  Branch (140:26): [True: 59.8k, False: 5]
  ------------------
  141|  59.8k|        unsigned delta;
  142|  59.8k|        if (*fix < 0xf0)
  ------------------
  |  Branch (142:13): [True: 58.5k, False: 1.34k]
  ------------------
  143|  58.5k|            delta = *fix++;
  144|  1.34k|        else {
  145|  1.34k|            delta = (*fix & 0x0f) * 0x10000 + get_le16(fix + 1);
  146|  1.34k|            fix += 3;
  147|  1.34k|            if (delta == 0) {
  ------------------
  |  Branch (147:17): [True: 0, False: 1.34k]
  ------------------
  148|      0|                delta = get_le32(fix);
  149|      0|                fix += 4;
  150|      0|            }
  151|  1.34k|        }
  152|  59.8k|        if ((int) delta < 4)
  ------------------
  |  Branch (152:13): [True: 0, False: 59.8k]
  ------------------
  153|      0|            throwCantUnpack("overlapping fixups");
  154|  59.8k|        pc += delta;
  155|  59.8k|        if (pc + 4 > image_size)
  ------------------
  |  Branch (155:13): [True: 0, False: 59.8k]
  ------------------
  156|      0|            throwCantUnpack("bad reloc[%#x] = %#x", i, pc);
  157|  59.8k|        *relocs++ = pc;
  158|  59.8k|        if (bswap) {
  ------------------
  |  Branch (158:13): [True: 59.8k, False: 0]
  ------------------
  159|  59.8k|            if (bits == 32)
  ------------------
  |  Branch (159:17): [True: 54.7k, False: 5.07k]
  ------------------
  160|  54.7k|                set_be32(image + pc, get_le32(image + pc));
  161|  5.07k|            else
  162|  5.07k|                set_be64(image + pc, get_le64(image + pc));
  163|  59.8k|        }
  164|  59.8k|    }
  165|      5|    in = fix + 1; // advance
  166|      5|    assert(relocnum == ptr_udiff_bytes(relocs, raw_bytes(out, 0)) / 4);
  ------------------
  |  |  493|      5|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|     10|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 5, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  167|      5|    if (0) {
  ------------------
  |  Branch (167:9): [Folded, False: 5]
  ------------------
  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|      5|    return relocnum;
  174|      5|}

_ZN10PackHeaderC2Ev:
   39|   434k|PackHeader::PackHeader() noexcept { reset(); }
_ZN10PackHeader5resetEv:
   41|  1.30M|void PackHeader::reset() noexcept {
   42|  1.30M|    mem_clear(this);
   43|  1.30M|    version = -1;
   44|  1.30M|    format = -1;
   45|  1.30M|    compress_result.reset();
   46|  1.30M|}
_ZN10PackHeader10set_methodEij:
   48|  19.6k|int PackHeader::set_method(int m, unsigned offset) {
   49|  19.6k|    unsigned mc = ~(0x80u << 24) & m; // see ph_forced_method
   50|  19.6k|    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.6k|    if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  614|  39.2k|#define M_NRV2B_LE32  2
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  626|  19.5k|#define M_LZMA        14
  ------------------
                  if ((lo < M_NRV2B_LE32 || M_LZMA < lo || (M_LZMA != lo && mc != lo)) && ~0u != offset)
  ------------------
  |  |  626|  19.4k|#define M_LZMA        14
  ------------------
  |  Branch (53:10): [True: 136, False: 19.5k]
  |  Branch (53:31): [True: 81, False: 19.4k]
  |  Branch (53:47): [True: 1.01k, False: 18.4k]
  |  Branch (53:63): [True: 0, False: 1.01k]
  |  Branch (53:77): [True: 18, False: 199]
  ------------------
   54|     18|        throwCantPack("bad method %#x at %#x", (unsigned) m, offset);
   55|  19.6k|    return method = m;
   56|  19.6k|}
_ZNK10PackHeader17getPackHeaderSizeEv:
   80|  22.8k|int PackHeader::getPackHeaderSize() const {
   81|  22.8k|    if (format < 0 || version < 0)
  ------------------
  |  Branch (81:9): [True: 2, False: 22.8k]
  |  Branch (81:23): [True: 0, False: 22.8k]
  ------------------
   82|      2|        throwInternalError("getPackHeaderSize");
   83|       |
   84|  22.8k|    int n = 0;
   85|  22.8k|    if (version <= 3) // Note: covers (version <= 0)
  ------------------
  |  Branch (85:9): [True: 0, False: 22.8k]
  ------------------
   86|      0|        n = 24;
   87|  22.8k|    else if (version <= 9) {
  ------------------
  |  Branch (87:14): [True: 123, False: 22.7k]
  ------------------
   88|    123|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|    246|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|     79|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (88:13): [True: 44, False: 79]
  |  Branch (88:40): [True: 1, False: 78]
  ------------------
   89|     45|            n = 20;
   90|     78|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  553|    156|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  557|     78|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (90:18): [True: 0, False: 78]
  |  Branch (90:45): [True: 0, False: 78]
  ------------------
   91|      0|            n = 25;
   92|     78|        else
   93|     78|            n = 28;
   94|  22.7k|    } else {
   95|  22.7k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|  45.4k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|  22.6k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (95:13): [True: 22, False: 22.6k]
  |  Branch (95:40): [True: 19, False: 22.6k]
  ------------------
   96|     41|            n = 22;
   97|  22.6k|        else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  553|  45.3k|#define UPX_F_DOS_EXE             3
  ------------------
                      else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH)
  ------------------
  |  |  557|  22.6k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (97:18): [True: 40, False: 22.6k]
  |  Branch (97:45): [True: 67, False: 22.5k]
  ------------------
   98|    107|            n = 27;
   99|  22.5k|        else
  100|  22.5k|            n = 32;
  101|  22.7k|    }
  102|  22.8k|    if (n < 20)
  ------------------
  |  Branch (102:9): [True: 0, False: 22.8k]
  ------------------
  103|      0|        throwCantUnpack("unknown header version");
  104|  22.8k|    return n;
  105|  22.8k|}
_ZN10PackHeader23decodePackHeaderFromBufEN5XSpan4SpanIKhEEi:
  189|  37.2k|bool PackHeader::decodePackHeaderFromBuf(SPAN_S(const byte) buf, int blen) {
  190|  37.2k|    int boff = find_le32(raw_bytes(buf, blen), blen, UPX_MAGIC_LE32);
  ------------------
  |  |  534|  37.2k|#define UPX_MAGIC_LE32  0x21585055 /* "UPX!" */
  ------------------
  191|  37.2k|    if (boff < 0)
  ------------------
  |  Branch (191:9): [True: 20.3k, False: 16.9k]
  ------------------
  192|  20.3k|        return false;
  193|  16.9k|    blen -= boff; // bytes remaining in buf
  194|  16.9k|    if (blen < 20)
  ------------------
  |  Branch (194:9): [True: 55, False: 16.9k]
  ------------------
  195|     55|        throwCantUnpack("header corrupted 1");
  196|       |
  197|  16.9k|    SPAN_S_VAR(const byte, const p, buf + boff);
  ------------------
  |  |  214|  16.9k|#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.8k|#define UPX_F_CPM86_CMD           46 // CP/M-86 .cmd
  ------------------
  |  Branch (209:12): [True: 16.8k, False: 16]
  |  Branch (209:27): [True: 15.4k, False: 1.41k]
  ------------------
  210|  1.43k|          (format >= 129 && format <= UPX_F_DYLIB_PPC64))) {
  ------------------
  |  |  611|  1.40k|#define UPX_F_DYLIB_PPC64       142
  ------------------
  |  Branch (210:12): [True: 1.40k, False: 35]
  |  Branch (210:29): [True: 1.37k, False: 24]
  ------------------
  211|     59|        throwCantUnpack("unknown format %d", format);
  212|     59|    }
  213|       |
  214|       |    //
  215|       |    // decode the new variable length header
  216|       |    //
  217|       |
  218|  16.8k|    int off_filter = 0;
  219|  16.8k|    if (format < 128) {
  ------------------
  |  Branch (219:9): [True: 15.4k, False: 1.37k]
  ------------------
  220|  15.4k|        u_adler = get_le32(p + 8);
  221|  15.4k|        c_adler = get_le32(p + 12);
  222|  15.4k|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  551|  30.9k|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS) {
  ------------------
  |  |  552|  15.3k|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (222:13): [True: 119, False: 15.3k]
  |  Branch (222:40): [True: 24, False: 15.3k]
  ------------------
  223|    143|            u_len = get_le16(p + 16);
  224|    143|            c_len = get_le16(p + 18);
  225|    143|            u_file_size = u_len;
  226|    143|            off_filter = 20;
  227|  15.3k|        } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  553|  30.6k|#define UPX_F_DOS_EXE             3
  ------------------
                      } else if (format == UPX_F_DOS_EXE || format == UPX_F_DOS_EXEH) {
  ------------------
  |  |  557|  15.2k|#define UPX_F_DOS_EXEH            7 // OBSOLETE
  ------------------
  |  Branch (227:20): [True: 33, False: 15.2k]
  |  Branch (227:47): [True: 51, False: 15.2k]
  ------------------
  228|     84|            if (blen < 25)
  ------------------
  |  Branch (228:17): [True: 2, False: 82]
  ------------------
  229|      2|                throwCantUnpack("header corrupted 6");
  230|     82|            u_len = get_le24(p + 16);
  231|     82|            c_len = get_le24(p + 19);
  232|     82|            u_file_size = get_le24(p + 22);
  233|     82|            off_filter = 25;
  234|  15.2k|        } else {
  235|  15.2k|            if (blen < 31)
  ------------------
  |  Branch (235:17): [True: 15, False: 15.2k]
  ------------------
  236|     15|                throwCantUnpack("header corrupted 7");
  237|  15.2k|            u_len = get_le32(p + 16);
  238|  15.2k|            c_len = get_le32(p + 20);
  239|  15.2k|            u_file_size = get_le32(p + 24);
  240|  15.2k|            off_filter = 28;
  241|  15.2k|            filter_cto = p[29];
  242|  15.2k|            n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (242:21): [True: 2.61k, False: 12.6k]
  ------------------
  243|  15.2k|        }
  244|  15.4k|    } else {
  245|  1.37k|        if (blen < 31)
  ------------------
  |  Branch (245:13): [True: 5, False: 1.37k]
  ------------------
  246|      5|            throwCantUnpack("header corrupted 8");
  247|  1.37k|        u_len = get_be32(p + 8);
  248|  1.37k|        c_len = get_be32(p + 12);
  249|  1.37k|        u_adler = get_be32(p + 16);
  250|  1.37k|        c_adler = get_be32(p + 20);
  251|  1.37k|        u_file_size = get_be32(p + 24);
  252|  1.37k|        off_filter = 28;
  253|  1.37k|        filter_cto = p[29];
  254|  1.37k|        n_mru = p[30] ? 1 + p[30] : 0;
  ------------------
  |  Branch (254:17): [True: 59, False: 1.31k]
  ------------------
  255|  1.37k|    }
  256|       |
  257|  16.8k|    if (version >= 10) {
  ------------------
  |  Branch (257:9): [True: 16.1k, False: 641]
  ------------------
  258|  16.1k|        if (blen < off_filter + 1)
  ------------------
  |  Branch (258:13): [True: 1, False: 16.1k]
  ------------------
  259|      1|            throwCantUnpack("header corrupted 9");
  260|  16.1k|        filter = p[off_filter];
  261|  16.1k|    } else if ((level & 128) == 0)
  ------------------
  |  Branch (261:16): [True: 233, False: 408]
  ------------------
  262|    233|        filter = 0;
  263|    408|    else {
  264|       |        // convert old flags to new filter id
  265|    408|        level &= 127;
  266|    408|        if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  551|    816|#define UPX_F_DOS_COM             1
  ------------------
                      if (format == UPX_F_DOS_COM || format == UPX_F_DOS_SYS)
  ------------------
  |  |  552|    350|#define UPX_F_DOS_SYS             2
  ------------------
  |  Branch (266:13): [True: 58, False: 350]
  |  Branch (266:40): [True: 6, False: 344]
  ------------------
  267|     64|            filter = 0x06;
  268|    344|        else
  269|    344|            filter = 0x26;
  270|    408|    }
  271|  16.8k|    level &= 15;
  272|       |
  273|       |    //
  274|       |    // now some checks
  275|       |    //
  276|       |
  277|  16.8k|    if (version == 0xff)
  ------------------
  |  Branch (277:9): [True: 1, False: 16.8k]
  ------------------
  278|      1|        throwCantUnpack("cannot unpack UPX ;-)");
  279|       |    // check header_checksum
  280|  16.8k|    if (version >= 10) {
  ------------------
  |  Branch (280:9): [True: 16.1k, False: 641]
  ------------------
  281|  16.1k|        int size = getPackHeaderSize(); // expected; based on format and version
  282|  16.1k|        if (size > blen || p[size - 1] != get_packheader_checksum(p, size - 1))
  ------------------
  |  Branch (282:13): [True: 4, False: 16.1k]
  |  Branch (282:13): [True: 159, False: 16.0k]
  |  Branch (282:28): [True: 155, False: 16.0k]
  ------------------
  283|    159|            throwCantUnpack("header corrupted 3");
  284|  16.1k|    }
  285|  16.6k|    if (c_len < 2 || u_len < 2 || !mem_size_valid_bytes(c_len) || !mem_size_valid_bytes(u_len))
  ------------------
  |  Branch (285:9): [True: 5, False: 16.6k]
  |  Branch (285:22): [True: 7, False: 16.6k]
  |  Branch (285:35): [True: 42, False: 16.6k]
  |  Branch (285:67): [True: 17, False: 16.5k]
  ------------------
  286|     71|        throwCantUnpack("header corrupted 4");
  287|       |
  288|       |    //
  289|       |    // success
  290|       |    //
  291|       |
  292|  16.5k|    this->buf_offset = boff;
  293|  16.5k|    return true;
  294|  16.6k|}
_Z19ph_is_forced_methodi:
  301|  22.2k|{
  302|  22.2k|    return (method >> 24) == -0x80;
  303|  22.2k|}
_Z16ph_forced_methodi:
  311|  22.2k|{
  312|  22.2k|    if (ph_is_forced_method(method))
  ------------------
  |  Branch (312:9): [True: 0, False: 22.2k]
  ------------------
  313|      0|        method &= ~(0x80u << 24);
  314|  22.2k|    assert_noexcept(method > 0);
  ------------------
  |  |  496|  22.2k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  44.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 22.2k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  315|      0|    return method;
  316|  22.2k|}
_Z13ph_decompressR10PackHeaderN5XSpan9PtrOrSpanIKhEENS2_IhEEbP6Filter:
  333|  22.3k|                   Filter *ft) {
  334|       |    // verify checksum of compressed data
  335|  22.3k|    if (verify_checksum) {
  ------------------
  |  Branch (335:9): [True: 208, False: 22.1k]
  ------------------
  336|    208|        unsigned adler = upx_adler32(raw_bytes(in, ph.c_len), ph.c_len, ph.saved_c_adler);
  337|    208|        if (adler != ph.c_adler)
  ------------------
  |  Branch (337:13): [True: 127, False: 81]
  ------------------
  338|    127|            throwChecksumError();
  339|    208|    }
  340|       |
  341|       |    // decompress
  342|  22.2k|    if (ph.u_len < ph.c_len)
  ------------------
  |  Branch (342:9): [True: 3, False: 22.2k]
  ------------------
  343|      3|        throwCantUnpack("header corrupted");
  344|  22.2k|    unsigned new_len = ph.u_len;
  345|  22.2k|    int r = upx_decompress(raw_bytes(in, ph.c_len), ph.c_len, raw_bytes(out, ph.u_len), &new_len,
  346|  22.2k|                           ph_forced_method(ph.method), &ph.compress_result);
  347|  22.2k|    if (r == UPX_E_OUT_OF_MEMORY)
  ------------------
  |  |  540|  22.2k|#define UPX_E_OUT_OF_MEMORY       (-2)
  ------------------
  |  Branch (347:9): [True: 0, False: 22.2k]
  ------------------
  348|      0|        throwOutOfMemoryException();
  349|  22.2k|    if (r != UPX_E_OK || new_len != ph.u_len)
  ------------------
  |  |  538|  44.4k|#define UPX_E_OK                  (0)
  ------------------
  |  Branch (349:9): [True: 2.53k, False: 19.7k]
  |  Branch (349:26): [True: 7, False: 19.7k]
  ------------------
  350|  2.52k|        throwCompressedDataViolation();
  351|       |
  352|       |    // verify checksum of decompressed data
  353|  19.7k|    if (verify_checksum) {
  ------------------
  |  Branch (353:9): [True: 70, False: 19.6k]
  ------------------
  354|     70|        if (ft)
  ------------------
  |  Branch (354:13): [True: 0, False: 70]
  ------------------
  355|      0|            ft->unfilter(out, ph.u_len);
  356|     70|        unsigned adler = upx_adler32(raw_bytes(out, ph.u_len), ph.u_len, ph.saved_u_adler);
  357|     70|        if (adler != ph.u_adler)
  ------------------
  |  Branch (357:13): [True: 0, False: 70]
  ------------------
  358|      0|            throwChecksumError();
  359|     70|    }
  360|  19.7k|}
packhead.cpp:_ZL23get_packheader_checksumN5XSpan4SpanIKhEEi:
   62|  16.1k|static upx_uint8_t get_packheader_checksum(SPAN_S(const byte) buf, int blen) {
   63|  16.1k|    assert(blen >= 4);
  ------------------
  |  |  493|  16.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  32.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   64|  16.1k|    assert(get_le32(buf) == UPX_MAGIC_LE32);
  ------------------
  |  |  493|  16.1k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  32.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 16.1k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   65|      0|    buf += 4;
   66|  16.1k|    blen -= 4;
   67|  16.1k|    unsigned c = 0;
   68|   452k|    while (blen-- > 0)
  ------------------
  |  Branch (68:12): [True: 435k, False: 16.1k]
  ------------------
   69|   435k|        c += *buf++;
   70|  16.1k|    c %= 251;
   71|  16.1k|    return (upx_uint8_t) c;
   72|  16.1k|}

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

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

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

_ZN8UiPackerC2EPK10PackerBase:
  159|   434k|UiPacker::UiPacker(const PackerBase *pb_) : pb(pb_) {
  160|   434k|    static upx_std_once_flag init_done;
  161|   434k|    upx_std_call_once(init_done, init_global_constants);
  162|       |
  163|   434k|    cb.reset();
  164|       |
  165|   434k|    s = new State;
  166|   434k|    mem_clear(s);
  167|   434k|    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|   434k|    if (opt->verbose < 0)
  ------------------
  |  Branch (174:9): [True: 0, False: 434k]
  ------------------
  175|      0|        s->mode = M_QUIET;
  176|   434k|    else if (opt->verbose == 0 || !acc_isatty(STDOUT_FILENO))
  ------------------
  |  Branch (176:14): [True: 0, False: 434k]
  |  Branch (176:35): [True: 434k, False: 0]
  ------------------
  177|   434k|        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|   434k|}
_ZN8UiPackerD2Ev:
  186|   434k|UiPacker::~UiPacker() noexcept {
  187|   434k|    cb.reset();
  188|       |    // owner
  189|   434k|    upx::owner_delete(s);
  190|   434k|}
_ZN8UiPacker13uiUnpackStartEPK10OutputFile:
  485|  6.27k|void UiPacker::uiUnpackStart(const OutputFile *fo) {
  486|  6.27k|    total_files++;
  487|  6.27k|    UNUSED(fo);
  ------------------
  |  |  249|  6.27k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  6.27k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  488|  6.27k|}
_ZN8UiPacker11uiUnpackEndEPK10OutputFile:
  490|     60|void UiPacker::uiUnpackEnd(const OutputFile *fo) {
  491|     60|    uiUpdate(-1, fo->getBytesWritten());
  492|       |
  493|     60|    if (s->mode == M_QUIET)
  ------------------
  |  Branch (493:9): [True: 0, False: 60]
  ------------------
  494|      0|        return;
  495|       |
  496|     60|    const char *name = pb->fi->getName();
  497|     60|    if (opt->output_name)
  ------------------
  |  Branch (497:9): [True: 60, False: 0]
  ------------------
  498|     60|        name = opt->output_name;
  499|      0|    else if (opt->to_stdout)
  ------------------
  |  Branch (499:14): [True: 0, False: 0]
  ------------------
  500|      0|        name = "<stdout>";
  501|     60|    con_fprintf(stdout, "%s\n",
  ------------------
  |  |  165|     60|#define con_fprintf  fprintf
  ------------------
  502|     60|                mkline(fo->getBytesWritten(), pb->file_size, pb->ph.u_len, pb->ph.c_len,
  503|     60|                       pb->getName(), fn_basename(name), true));
  504|     60|    printSetNl(0);
  505|     60|}
_ZN8UiPacker13uiUnpackTotalEv:
  507|  14.9k|/*static*/ void UiPacker::uiUnpackTotal() {
  508|  14.9k|    uiListTotal(true);
  509|  14.9k|    uiFooter("Unpacked");
  510|  14.9k|}
_ZN8UiPacker11uiListTotalEb:
  528|  14.9k|/*static*/ void UiPacker::uiListTotal(bool decompress) {
  529|  14.9k|    if (opt->verbose >= 1 && total_files >= 2) {
  ------------------
  |  Branch (529:9): [True: 14.9k, False: 0]
  |  Branch (529:30): [True: 14.8k, False: 28]
  ------------------
  530|  14.8k|        char name[32];
  531|  14.8k|        upx_safe_snprintf(name, sizeof(name), "[ %u file%s ]", total_files_done,
  532|  14.8k|                          total_files_done == 1 ? "" : "s");
  ------------------
  |  Branch (532:27): [True: 4.12k, False: 10.7k]
  ------------------
  533|  14.8k|        con_fprintf(
  ------------------
  |  |  165|  14.8k|#define con_fprintf  fprintf
  ------------------
  534|       |            stdout, "%s%s\n", header_line2,
  535|  14.8k|            mkline(total_fu_len, total_fc_len, total_u_len, total_c_len, "", name, decompress));
  536|  14.8k|        printSetNl(0);
  537|  14.8k|    }
  538|  14.9k|}
_ZN8UiPacker8uiHeaderEv:
  596|  14.9k|/*static*/ void UiPacker::uiHeader() {
  597|  14.9k|    static upx_std_atomic(bool) done;
  598|  14.9k|    if (done)
  ------------------
  |  Branch (598:9): [True: 14.9k, False: 1]
  ------------------
  599|  14.9k|        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.9k|/*static*/ void UiPacker::uiFooter(const char *t) {
  609|  14.9k|    static upx_std_atomic(bool) done;
  610|  14.9k|    if (done)
  ------------------
  |  Branch (610:9): [True: 14.9k, False: 1]
  ------------------
  611|  14.9k|        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|     60|void UiPacker::uiUpdate(upx_off_t fc_len, upx_off_t fu_len) {
  627|     60|    update_fc_len = (fc_len >= 0) ? fc_len : pb->file_size_u;
  ------------------
  |  Branch (627:21): [True: 0, False: 60]
  ------------------
  628|     60|    update_fu_len = (fu_len >= 0) ? fu_len : pb->ph.u_file_size;
  ------------------
  |  Branch (628:21): [True: 60, False: 0]
  ------------------
  629|     60|    update_c_len = pb->ph.c_len;
  630|     60|    update_u_len = pb->ph.u_len;
  631|     60|}
_ZN8UiPacker15uiConfirmUpdateEv:
  633|     60|/*static*/ void UiPacker::uiConfirmUpdate() {
  634|     60|    total_files_done++;
  635|     60|    total_fc_len += update_fc_len;
  636|     60|    total_fu_len += update_fu_len;
  637|     60|    total_c_len += update_c_len;
  638|     60|    total_u_len += update_u_len;
  639|     60|}
ui.cpp:_ZL21init_global_constantsv:
  103|      1|static noinline void init_global_constants() 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.9k|                          bool decompress = false) {
  131|  14.9k|    static char buf[2048]; // static! // TODO later: check if affected by WITH_THREADS
  132|  14.9k|    char r[7 + 1];
  133|  14.9k|    char fn[15 + 1];
  134|  14.9k|    const char *f;
  135|       |
  136|       |    // Large ratios can happen because of overlays that are
  137|       |    // appended after a program is packed.
  138|  14.9k|    unsigned ratio = get_ratio(fu_len, fc_len);
  139|  14.9k|    if (ratio >= 1000 * 1000)
  ------------------
  |  Branch (139:9): [True: 1, False: 14.9k]
  ------------------
  140|      1|        strcpy(r, "overlay");
  141|  14.9k|    else
  142|  14.9k|        upx_safe_snprintf(r, sizeof(r), "%3u.%02u%%", ratio / 10000, (ratio % 10000) / 100);
  143|  14.9k|    if (decompress)
  ------------------
  |  Branch (143:9): [True: 14.9k, False: 0]
  ------------------
  144|  14.9k|        f = "%10lld <-%10lld  %7s %15s %s";
  145|      0|    else
  146|      0|        f = "%10lld ->%10lld  %7s %15s %s";
  147|  14.9k|    center_string(fn, sizeof(fn), format_name);
  148|  14.9k|    assert(strlen(fn) == 15);
  ------------------
  |  |  493|  14.9k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 14.9k, 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.9k|    UNUSED(u_len);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  151|  14.9k|    UNUSED(c_len);
  ------------------
  |  |  249|  14.9k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  14.9k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  152|  14.9k|    return buf;
  153|  14.9k|}

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

_Z22membuffer_get_void_ptrR9MemBuffer:
   35|   153k|void *membuffer_get_void_ptr(MemBuffer &mb) noexcept { return mb.getVoidPtr(); }
_Z27membuffer_get_size_in_bytesRK9MemBuffer:
   37|   153k|unsigned membuffer_get_size_in_bytes(const MemBuffer &mb) noexcept { return mb.getSizeInBytes(); }
_ZN9MemBufferC2Ey:
   79|   327k|MemBuffer::MemBuffer(upx_uint64_t bytes) may_throw : MemBufferBase<byte>() {
   80|   327k|    static_assert(element_size == 1);
   81|   327k|    alloc(bytes);
   82|   327k|    debug_set(debug.last_return_address_alloc, upx_return_address());
   83|   327k|}
_ZN9MemBufferD2Ev:
   85|  3.18M|MemBuffer::~MemBuffer() noexcept { this->dealloc(); }
_ZN9MemBuffer21getSizeForCompressionEjj:
   88|   164k|unsigned MemBuffer::getSizeForCompression(unsigned uncompressed_size, unsigned extra) may_throw {
   89|   164k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (89:9): [True: 14.9k, False: 149k]
  ------------------
   90|  14.9k|        throwCantPack("invalid uncompressed_size");
   91|   149k|    const size_t z = uncompressed_size; // fewer keystrokes and display columns
   92|   149k|    size_t bytes = mem_size(1, z);      // check size
   93|       |    // All literal: 1 bit overhead per literal byte; from UCL documentation
   94|   149k|    bytes = upx::umax(bytes, z + z / 8 + 256);
   95|       |    // zstd: ZSTD_COMPRESSBOUND
   96|   149k|    bytes = upx::umax(bytes, z + (z >> 8) + ((z < (128 << 10)) ? (((128 << 10) - z) >> 11) : 0));
  ------------------
  |  Branch (96:46): [True: 44.7k, False: 104k]
  ------------------
   97|       |    // add extra and 256 safety for various rounding/alignments
   98|   149k|    bytes = mem_size(1, bytes, extra, 256);
   99|   149k|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|   149k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|   149k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  100|   164k|}
_ZN9MemBuffer23getSizeForDecompressionEjj:
  103|  15.1k|unsigned MemBuffer::getSizeForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  104|  15.1k|    if (uncompressed_size == 0)
  ------------------
  |  Branch (104:9): [True: 14.9k, False: 232]
  ------------------
  105|  14.9k|        throwCantPack("invalid uncompressed_size");
  106|    232|    size_t bytes = mem_size(1, uncompressed_size, extra); // check size
  107|    232|    return ACC_ICONV(unsigned, bytes);
  ------------------
  |  | 1546|    232|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|    232|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
  108|  15.1k|}
_ZN9MemBuffer21allocForDecompressionEjj:
  116|    229|void MemBuffer::allocForDecompression(unsigned uncompressed_size, unsigned extra) may_throw {
  117|    229|    unsigned bytes = getSizeForDecompression(uncompressed_size, extra);
  118|    229|    alloc(bytes);
  119|    229|    debug_set(debug.last_return_address_alloc, upx_return_address());
  120|    229|}
_ZN9MemBuffer4fillEmmi:
  122|   287k|void MemBuffer::fill(size_t off, size_t bytes, int value) may_throw {
  123|   287k|    debug_set(debug.last_return_address_fill, upx_return_address());
  124|   287k|    checkState();
  125|       |    // check overrun and wrap-around
  126|   287k|    if very_unlikely (off + bytes > size_in_bytes || off + bytes < off)
  ------------------
  |  |  245|   287k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   287k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   575k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 287k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 287k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 287k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  127|      0|        throwCantPack("MemBuffer::fill out of range; take care!");
  128|   287k|    if (bytes > 0)
  ------------------
  |  Branch (128:9): [True: 287k, False: 0]
  ------------------
  129|   287k|        memset(ptr + off, value, bytes);
  130|   287k|}
_ZN9MemBuffer11subref_implEPKcmm:
  134|  7.45M|void *MemBuffer::subref_impl(const char *errfmt, size_t skip, size_t take) may_throw {
  135|  7.45M|    debug_set(debug.last_return_address_subref, upx_return_address());
  136|  7.45M|    checkState();
  137|       |    // check overrun and wrap-around
  138|  7.45M|    if very_unlikely (skip + take > size_in_bytes || skip + take < skip) {
  ------------------
  |  |  245|  7.45M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  7.45M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  12.7M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 2.68M, False: 4.77M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 2.20M, False: 5.25M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 477k, False: 4.77M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  139|  2.68M|        char buf[100];
  140|       |        // printf is using unsigned formatting
  141|  2.68M|        if (!errfmt || !errfmt[0])
  ------------------
  |  Branch (141:13): [True: 0, False: 2.68M]
  |  Branch (141:24): [True: 2.68M, False: 0]
  ------------------
  142|  2.68M|            errfmt = "bad subref %#x %#x";
  143|  2.68M|        upx_safe_snprintf(buf, sizeof(buf), errfmt, (unsigned) skip, (unsigned) take);
  144|  2.68M|        throwCantPack(buf);
  145|  2.68M|    }
  146|  4.77M|    return ptr + skip;
  147|  7.45M|}
_ZNK9MemBuffer10checkStateEv:
  158|  8.54M|void MemBuffer::checkState() const may_throw {
  159|  8.54M|    if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  8.54M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.54M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.54M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 8.53M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  160|  14.9k|        throwInternalError("block not allocated");
  161|  8.53M|    assert(size_in_bytes > 0);
  ------------------
  |  |  493|  8.53M|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|  17.0M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 8.53M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  162|  8.53M|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (162:9): [True: 8.53M, False: 0]
  ------------------
  163|  8.53M|        const byte *p = upx::ptr_static_cast<const byte *>(ptr);
  164|  8.53M|        if very_unlikely (get_ne32(p - 4) != MAGIC1(p))
  ------------------
  |  |  245|  8.53M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.53M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.53M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 8.51M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  165|  14.9k|            throwInternalError("memory clobbered before allocated block 1");
  166|  8.51M|        if very_unlikely (get_ne32(p - 8) != size_in_bytes)
  ------------------
  |  |  245|  8.51M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.51M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.51M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.51M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  167|      0|            throwInternalError("memory clobbered before allocated block 2");
  168|  8.51M|        if very_unlikely (get_ne32(p + size_in_bytes) != MAGIC2(p))
  ------------------
  |  |  245|  8.51M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  8.51M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  8.51M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 8.51M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  169|      0|            throwInternalError("memory clobbered past end of allocated block");
  170|  8.51M|    }
  171|  8.53M|}
_ZN9MemBuffer5allocEy:
  173|   386k|void MemBuffer::alloc(const upx_uint64_t bytes) may_throw {
  174|       |    // INFO: we don't automatically free a used buffer
  175|   386k|    assert(ptr == nullptr);
  ------------------
  |  |  493|   386k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   772k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  176|   386k|    assert(size_in_bytes == 0);
  ------------------
  |  |  493|   386k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   772k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  177|       |    //
  178|   386k|    assert(bytes > 0);
  ------------------
  |  |  493|   386k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   772k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 386k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  179|      0|    debug_set(debug.last_return_address_alloc, upx_return_address());
  180|   386k|    upx_rsize_t malloc_bytes = mem_size(1, bytes); // check size
  181|   386k|    if (use_simple_mcheck())
  ------------------
  |  Branch (181:9): [True: 371k, False: 14.9k]
  ------------------
  182|   371k|        malloc_bytes += 32;
  183|  14.9k|    else
  184|  14.9k|        malloc_bytes += 4;
  185|   386k|    byte *p = (byte *) ::malloc(malloc_bytes);
  186|   386k|    NO_printf("MemBuffer::alloc %llu: %p\n", bytes, p);
  187|   386k|    if (!p)
  ------------------
  |  Branch (187:9): [True: 0, False: 386k]
  ------------------
  188|      0|        throwOutOfMemoryException();
  189|   386k|    size_in_bytes = size_type(bytes);
  190|   386k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (190:9): [True: 371k, False: 14.9k]
  ------------------
  191|   371k|        p += 16;
  192|       |        // store magic constants to detect buffer overruns
  193|   371k|        set_ne32(p - 8, size_in_bytes);
  194|   371k|        set_ne32(p - 4, MAGIC1(p));
  ------------------
  |  |  155|   371k|#define MAGIC1(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb) | 1)
  |  |  ------------------
  |  |  |  |  154|   371k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  195|   371k|        set_ne32(p + size_in_bytes + 0, MAGIC2(p));
  ------------------
  |  |  156|   371k|#define MAGIC2(p)     ((PTR_BITS32(p) ^ 0xfefdbeeb ^ 0x88224411) | 1)
  |  |  ------------------
  |  |  |  |  154|   371k|#define PTR_BITS32(p) ((upx_uint32_t) (ptr_get_address(p) & 0xffffffff))
  |  |  ------------------
  ------------------
  196|   371k|        set_ne32(p + size_in_bytes + 4, stats.global_alloc_counter);
  197|   371k|    }
  198|   386k|    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|   386k|    stats.global_alloc_counter += 1;
  204|   386k|    stats.global_total_bytes += size_in_bytes;
  205|   386k|    stats.global_total_active_bytes += size_in_bytes;
  206|   386k|#if DEBUG || 1
  207|   386k|    checkState();
  208|   386k|#endif
  209|   386k|}
_ZN9MemBuffer7deallocEv:
  211|  3.18M|void MemBuffer::dealloc() noexcept {
  212|  3.18M|    if (ptr == nullptr) {
  ------------------
  |  Branch (212:9): [True: 2.81M, False: 371k]
  ------------------
  213|  2.81M|        assert_noexcept(size_in_bytes == 0);
  ------------------
  |  |  496|  2.81M|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  5.62M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 2.81M, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  214|      0|        return;
  215|  2.81M|    }
  216|   371k|    debug_set(debug.last_return_address_dealloc, upx_return_address());
  217|   371k|#if DEBUG || 1
  218|       |    // info: calling checkState() here violates "noexcept", so we need a try block
  219|   371k|    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|   371k|    if (shall_check) {
  ------------------
  |  Branch (222:9): [True: 371k, False: 0]
  ------------------
  223|   371k|        try {
  224|   371k|            checkState();
  225|   371k|        } catch (const Throwable &e) {
  226|      0|            printErr("unknown", e);
  227|      0|            std::terminate();
  228|      0|        } catch (...) {
  229|      0|            std::terminate();
  230|      0|        }
  231|   371k|    }
  232|   371k|#endif
  233|   371k|    stats.global_dealloc_counter += 1;
  234|   371k|    stats.global_total_active_bytes -= size_in_bytes;
  235|   371k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (235:9): [True: 371k, False: 0]
  ------------------
  236|   371k|        byte *p = upx::ptr_static_cast<byte *>(ptr);
  237|       |        // clear magic constants
  238|   371k|        set_ne32(p - 8, 0);
  239|   371k|        set_ne32(p - 4, 0);
  240|   371k|        set_ne32(p + size_in_bytes, 0);
  241|   371k|        set_ne32(p + size_in_bytes + 4, 0);
  242|       |        //
  243|   371k|        ::free(p - 16); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  244|   371k|    } else {
  245|      0|        ::free(ptr); // NOLINT(clang-analyzer-unix.Malloc) // see NOTE above
  246|      0|    }
  247|   371k|    ptr = nullptr;
  248|   371k|    size_in_bytes = 0;
  249|   371k|}
membuffer.cpp:_ZL17use_simple_mcheckv:
   65|  9.66M|static noinline bool use_simple_mcheck() noexcept {
   66|  9.66M|    static upx_std_once_flag init_done;
   67|  9.66M|    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.66M|    return use_simple_mcheck_flag;
   70|  9.66M|}
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.9k|TEST_CASE("MemBuffer unused 1") {
  256|  14.9k|    MemBuffer mb;
  257|  14.9k|    (void) mb;
  258|  14.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_4v:
  260|  14.9k|TEST_CASE("MemBuffer unused 2") {
  261|  14.9k|    MemBuffer mb;
  262|  14.9k|    CHECK(mb.raw_ptr() == nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  263|  14.9k|    CHECK(mb.raw_size_in_bytes() == 0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  264|  14.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_6v:
  266|  14.9k|TEST_CASE("MemBuffer core") {
  267|  14.9k|    constexpr size_t N = 64;
  268|  14.9k|    MemBuffer mb;
  269|  14.9k|    CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  270|  14.9k|    CHECK_THROWS(mb.alloc(0x30000000 + 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  271|  14.9k|    CHECK(raw_bytes(mb, 0) == nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  272|  14.9k|    CHECK_THROWS(raw_bytes(mb, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  273|  14.9k|    CHECK_THROWS(mb.begin());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  274|  14.9k|    CHECK_THROWS(mb.end());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  275|  14.9k|    CHECK_THROWS(mb.cbegin());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  276|  14.9k|    CHECK_THROWS(mb.cend());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  277|  14.9k|    mb.alloc(N);
  278|  14.9k|    mb.checkState();
  279|  14.9k|    CHECK(mb.begin() == mb.cbegin());
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  280|  14.9k|    CHECK(mb.end() == mb.cend());
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  281|  14.9k|    CHECK(mb.begin() == &mb[0]);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  282|  14.9k|    CHECK(mb.end() == &mb[0] + N);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  283|  14.9k|    CHECK(mb.cbegin() == &mb[0]);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  284|  14.9k|    CHECK(mb.cend() == &mb[0] + N);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  285|  14.9k|    CHECK(raw_bytes(mb, N) != nullptr);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  286|  14.9k|    CHECK(raw_bytes(mb, N) == mb.getVoidPtr());
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  287|  14.9k|    CHECK_THROWS(raw_bytes(mb, N + 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  288|  14.9k|    CHECK_NOTHROW(mb + N);
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  289|  14.9k|    CHECK_THROWS(mb + (N + 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  290|       |#if ALLOW_INT_PLUS_MEMBUFFER
  291|       |    CHECK_NOTHROW(N + mb);
  292|       |    CHECK_THROWS((N + 1) + mb);
  293|       |#endif
  294|  14.9k|    CHECK_NOTHROW(mb.subref("", 0, N));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  295|  14.9k|    CHECK_NOTHROW(mb.subref("", N, 0));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  296|  14.9k|    CHECK_THROWS(mb.subref("", 1, N));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  297|  14.9k|    CHECK_THROWS(mb.subref("", N, 1));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  298|  14.9k|    if (use_simple_mcheck()) {
  ------------------
  |  Branch (298:9): [True: 14.9k, False: 0]
  ------------------
  299|  14.9k|        byte *p = upx::ptr_static_cast<byte *>(raw_bytes(mb, 0));
  300|  14.9k|        upx_uint32_t magic1 = get_ne32(p - 4);
  301|  14.9k|        set_ne32(p - 4, magic1 ^ 1);
  302|  14.9k|        CHECK_THROWS(mb.checkState());
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  303|  14.9k|        set_ne32(p - 4, magic1);
  304|  14.9k|        mb.checkState();
  305|  14.9k|    }
  306|  14.9k|}
membuffer.cpp:_ZL19DOCTEST_ANON_FUNC_8v:
  308|  14.9k|TEST_CASE("MemBuffer global overloads") {
  309|  14.9k|    {
  310|  14.9k|        MemBuffer mb1(1);
  311|  14.9k|        MemBuffer mb4(4);
  312|  14.9k|        mb1.clear();
  313|  14.9k|        mb4.clear();
  314|  14.9k|        CHECK(memcmp(mb1, "\x00", 1) == 0);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  315|  14.9k|        CHECK_THROWS(memcmp(mb1, "\x00\x00", 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  316|  14.9k|        CHECK_THROWS(memcmp("\x00\x00", mb1, 2)); // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  317|  14.9k|        CHECK_THROWS(memcmp(mb1, mb4, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  318|  14.9k|        CHECK_THROWS(memcmp(mb4, mb1, 2));        // NOLINT(bugprone-unused-return-value)
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  319|  14.9k|        CHECK_NOTHROW(memset(mb1, 255, 1));
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|  14.9k|        CHECK_THROWS(memset(mb1, 254, 2));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  321|  14.9k|        CHECK(mb1[0] == 255);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  322|  14.9k|    }
  323|       |
  324|   253k|    for (size_t i = 1; i <= 16; i++) {
  ------------------
  |  Branch (324:24): [True: 238k, False: 14.9k]
  ------------------
  325|   238k|        MemBuffer mb(i);
  326|   238k|        mb.clear();
  327|       |
  328|   238k|        if (i < 2) {
  ------------------
  |  Branch (328:13): [True: 14.9k, False: 223k]
  ------------------
  329|  14.9k|            CHECK_THROWS(get_ne16(mb));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  330|  14.9k|            CHECK_THROWS(get_be16(mb));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  331|  14.9k|            CHECK_THROWS(get_le16(mb));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  332|  14.9k|            CHECK_THROWS(set_ne16(mb, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  333|  14.9k|            CHECK_THROWS(set_be16(mb, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  334|  14.9k|            CHECK_THROWS(set_le16(mb, 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  335|   223k|        } else {
  336|   223k|            CHECK_NOTHROW(get_ne16(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  337|   223k|            CHECK_NOTHROW(get_be16(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  338|   223k|            CHECK_NOTHROW(get_le16(mb));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  339|   223k|            CHECK_NOTHROW(set_ne16(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  340|   223k|            CHECK_NOTHROW(set_be16(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  341|   223k|            CHECK_NOTHROW(set_le16(mb, 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  342|   223k|        }
  343|   238k|        if (i < 3) {
  ------------------
  |  Branch (343:13): [True: 29.8k, False: 208k]
  ------------------
  344|  29.8k|            CHECK_THROWS(get_ne24(mb));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  345|  29.8k|            CHECK_THROWS(get_be24(mb));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  346|  29.8k|            CHECK_THROWS(get_le24(mb));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  347|  29.8k|            CHECK_THROWS(set_ne24(mb, 0));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  348|  29.8k|            CHECK_THROWS(set_be24(mb, 0));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  349|  29.8k|            CHECK_THROWS(set_le24(mb, 0));
  ------------------
  |  | 2970|  29.8k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  29.8k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  29.8k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  29.8k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  29.8k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 29.8k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  29.8k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  29.8k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  29.8k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  29.8k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  29.8k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  29.8k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  29.8k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  29.8k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  29.8k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  29.8k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  29.8k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  29.8k|        } 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|  29.8k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  29.8k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 29.8k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  350|   208k|        } else {
  351|   208k|            CHECK_NOTHROW(get_ne24(mb));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  352|   208k|            CHECK_NOTHROW(get_be24(mb));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  353|   208k|            CHECK_NOTHROW(get_le24(mb));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  354|   208k|            CHECK_NOTHROW(set_ne24(mb, 0));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  355|   208k|            CHECK_NOTHROW(set_be24(mb, 0));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  356|   208k|            CHECK_NOTHROW(set_le24(mb, 0));
  ------------------
  |  | 2974|   208k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   208k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   208k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   208k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   208k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   208k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   208k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   208k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   208k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   208k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   208k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   208k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   208k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   208k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   208k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   208k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   208k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 208k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  357|   208k|        }
  358|   238k|        if (i < 4) {
  ------------------
  |  Branch (358:13): [True: 44.7k, False: 193k]
  ------------------
  359|  44.7k|            CHECK_THROWS(get_ne32(mb));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  360|  44.7k|            CHECK_THROWS(get_be32(mb));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  361|  44.7k|            CHECK_THROWS(get_le32(mb));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  362|  44.7k|            CHECK_THROWS(set_ne32(mb, 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  363|  44.7k|            CHECK_THROWS(set_be32(mb, 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  364|  44.7k|            CHECK_THROWS(set_le32(mb, 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  365|   193k|        } else {
  366|   193k|            CHECK_NOTHROW(get_ne32(mb));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  367|   193k|            CHECK_NOTHROW(get_be32(mb));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  368|   193k|            CHECK_NOTHROW(get_le32(mb));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  369|   193k|            CHECK_NOTHROW(set_ne32(mb, 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  370|   193k|            CHECK_NOTHROW(set_be32(mb, 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  371|   193k|            CHECK_NOTHROW(set_le32(mb, 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  372|   193k|        }
  373|   238k|        if (i < 8) {
  ------------------
  |  Branch (373:13): [True: 104k, False: 134k]
  ------------------
  374|   104k|            CHECK_THROWS(get_ne64(mb));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  375|   104k|            CHECK_THROWS(get_be64(mb));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  376|   104k|            CHECK_THROWS(get_le64(mb));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  377|   104k|            CHECK_THROWS(set_ne64(mb, 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  378|   104k|            CHECK_THROWS(set_be64(mb, 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  379|   104k|            CHECK_THROWS(set_le64(mb, 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  380|   134k|        } else {
  381|   134k|            CHECK_NOTHROW(get_ne64(mb));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  382|   134k|            CHECK_NOTHROW(get_be64(mb));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  383|   134k|            CHECK_NOTHROW(get_le64(mb));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  384|   134k|            CHECK_NOTHROW(set_ne64(mb, 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  385|   134k|            CHECK_NOTHROW(set_be64(mb, 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  386|   134k|            CHECK_NOTHROW(set_le64(mb, 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  387|   134k|        }
  388|       |
  389|   238k|        CHECK_NOTHROW(mb.subref("", 0, 0));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  390|   238k|        CHECK_NOTHROW(mb.subref("", 0, i));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  391|   238k|        CHECK_NOTHROW(mb.subref("", i, 0));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  392|   238k|        CHECK_NOTHROW(mb.subref("", i - 1, 1));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  393|   238k|        CHECK_THROWS(mb.subref("", 0, i + 1));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  394|   238k|        CHECK_THROWS(mb.subref("", i + 1, 0));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  395|   238k|        CHECK_THROWS(mb.subref("", i, 1));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  396|   238k|        CHECK_THROWS(mb.subref("", (size_t) -1, 0));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  397|   238k|        CHECK_THROWS(mb.subref("", (size_t) -1, i));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  398|       |
  399|   238k|#if DEBUG || !(ACC_CC_CLANG && __PPC64__ && ACC_ABI_BIG_ENDIAN) || 0
  400|       |        // @COMPILER_BUG @CLANG_BUG
  401|   238k|        if (i < 2) {
  ------------------
  |  Branch (401:13): [True: 14.9k, False: 223k]
  ------------------
  402|  14.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  403|  14.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  404|  14.9k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  405|   223k|        } else {
  406|   223k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE16)));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  407|   223k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE16)));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  408|   223k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE16)));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  409|   223k|        }
  410|   238k|        if (i < 4) {
  ------------------
  |  Branch (410:13): [True: 44.7k, False: 193k]
  ------------------
  411|  44.7k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  412|  44.7k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  413|  44.7k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  414|   193k|        } else {
  415|   193k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE32)));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  416|   193k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE32)));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  417|   193k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE32)));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  418|   193k|        }
  419|   238k|        if (i < 8) {
  ------------------
  |  Branch (419:13): [True: 104k, False: 134k]
  ------------------
  420|   104k|            CHECK_THROWS(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  421|   104k|            CHECK_THROWS(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  422|   104k|            CHECK_THROWS(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  423|   134k|        } else {
  424|   134k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(NE64)));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  425|   134k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(BE64)));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  426|   134k|            CHECK_NOTHROW(mb.subref("", 0, sizeof(LE64)));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  427|   134k|        }
  428|       |
  429|   238k|        CHECK_NOTHROW(mb.subref_u<byte *>("", 0));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  430|   238k|        CHECK_NOTHROW(mb.subref_u<byte *>("", i - 1));
  ------------------
  |  | 2974|   238k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   238k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   238k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   238k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   238k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   238k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   238k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   238k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  431|   238k|        CHECK_THROWS(mb.subref_u<byte *>("", i));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  432|   238k|        CHECK_THROWS(mb.subref_u<byte *>("", (size_t) -1));
  ------------------
  |  | 2970|   238k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   238k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   238k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   238k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   238k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 238k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   238k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   238k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   238k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   238k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   238k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   238k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   238k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   238k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   238k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   238k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   238k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   238k|        } 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|   238k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   238k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 238k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  433|       |
  434|   238k|        if (i < 2) {
  ------------------
  |  Branch (434:13): [True: 14.9k, False: 223k]
  ------------------
  435|  14.9k|            CHECK_THROWS(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  436|  14.9k|            CHECK_THROWS(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  437|  14.9k|            CHECK_THROWS(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  438|   223k|        } else {
  439|   223k|            CHECK_NOTHROW(mb.subref_u<NE16 *>("", 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  440|   223k|            CHECK_NOTHROW(mb.subref_u<BE16 *>("", 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  441|   223k|            CHECK_NOTHROW(mb.subref_u<LE16 *>("", 0));
  ------------------
  |  | 2974|   223k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   223k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   223k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   223k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   223k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   223k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   223k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   223k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   223k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   223k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   223k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   223k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   223k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   223k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   223k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   223k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   223k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 223k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  442|   223k|        }
  443|   238k|        if (i < 4) {
  ------------------
  |  Branch (443:13): [True: 44.7k, False: 193k]
  ------------------
  444|  44.7k|            CHECK_THROWS(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  445|  44.7k|            CHECK_THROWS(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  446|  44.7k|            CHECK_THROWS(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2970|  44.7k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  44.7k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  44.7k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  44.7k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  44.7k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 44.7k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  44.7k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  44.7k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  44.7k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  44.7k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  44.7k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  44.7k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  44.7k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  44.7k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  44.7k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  44.7k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  44.7k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  44.7k|        } 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|  44.7k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  44.7k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 44.7k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  447|   193k|        } else {
  448|   193k|            CHECK_NOTHROW(mb.subref_u<NE32 *>("", 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  449|   193k|            CHECK_NOTHROW(mb.subref_u<BE32 *>("", 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  450|   193k|            CHECK_NOTHROW(mb.subref_u<LE32 *>("", 0));
  ------------------
  |  | 2974|   193k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   193k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   193k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   193k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   193k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   193k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   193k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   193k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   193k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   193k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   193k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   193k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   193k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   193k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   193k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   193k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   193k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 193k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  451|   193k|        }
  452|   238k|        if (i < 8) {
  ------------------
  |  Branch (452:13): [True: 104k, False: 134k]
  ------------------
  453|   104k|            CHECK_THROWS(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  454|   104k|            CHECK_THROWS(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  455|   104k|            CHECK_THROWS(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2970|   104k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|   104k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|   104k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   104k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|   104k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 104k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|   104k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|   104k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|   104k|            try {                                                                                  \
  |  |  |  |  |  | 2506|   104k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   104k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|   104k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|   104k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   104k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   104k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   104k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   104k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|   104k|        } 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|   104k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   104k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 104k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  456|   134k|        } else {
  457|   134k|            CHECK_NOTHROW(mb.subref_u<NE64 *>("", 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  458|   134k|            CHECK_NOTHROW(mb.subref_u<BE64 *>("", 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  459|   134k|            CHECK_NOTHROW(mb.subref_u<LE64 *>("", 0));
  ------------------
  |  | 2974|   134k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|   134k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|   134k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|   134k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|   134k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|   134k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|   134k|        try {                                                                                      \
  |  |  |  |  |  | 2519|   134k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|   134k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|   134k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|   134k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|   134k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|   134k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|   134k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|   134k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|   134k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|   134k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 134k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  460|   134k|        }
  461|   238k|#endif
  462|   238k|    }
  463|  14.9k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_10v:
  465|  14.9k|TEST_CASE("MemBuffer array access") {
  466|  14.9k|    constexpr size_t N = 16;
  467|  14.9k|    MemBuffer mb(N);
  468|  14.9k|    mb.clear();
  469|   253k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (469:24): [True: 238k, False: 14.9k]
  ------------------
  470|   238k|        mb[i] += 1;
  471|   253k|    for (byte *ptr = mb; ptr != mb + N; ++ptr)
  ------------------
  |  Branch (471:26): [True: 238k, False: 14.9k]
  ------------------
  472|   238k|        *ptr += 1;
  473|   253k|    for (byte *ptr = mb + 0; ptr < mb + N; ++ptr)
  ------------------
  |  Branch (473:30): [True: 238k, False: 14.9k]
  ------------------
  474|   238k|        *ptr += 1;
  475|   253k|    for (byte *ptr = &mb[0]; ptr != mb.end(); ++ptr)
  ------------------
  |  Branch (475:30): [True: 238k, False: 14.9k]
  ------------------
  476|   238k|        *ptr += 1;
  477|   253k|    for (byte *ptr = mb.begin(); ptr < mb.end(); ++ptr)
  ------------------
  |  Branch (477:34): [True: 238k, False: 14.9k]
  ------------------
  478|   238k|        *ptr += 1;
  479|   253k|    for (size_t i = 0; i != N; ++i)
  ------------------
  |  Branch (479:24): [True: 238k, False: 14.9k]
  ------------------
  480|   238k|        assert(mb[i] == 5);
  ------------------
  |  |  493|   238k|    ((void) (__acc_cte(e) || (throwAssertFailed(#e, __FILE__, __LINE__, __func__), throw 1, 0)))
  |  |  ------------------
  |  |  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 238k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (493:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  481|  14.9k|    CHECK_NOTHROW((void) &mb[N - 1]);
  ------------------
  |  | 2974|  14.9k|#define CHECK_NOTHROW(...) DOCTEST_CHECK_NOTHROW(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2542|  14.9k|#define DOCTEST_CHECK_NOTHROW(...) DOCTEST_ASSERT_NOTHROW(DT_CHECK_NOTHROW, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2515|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2516|  14.9k|        doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,      \
  |  |  |  |  |  | 2517|  14.9k|                                                   __LINE__, #__VA_ARGS__);                        \
  |  |  |  |  |  | 2518|  14.9k|        try {                                                                                      \
  |  |  |  |  |  | 2519|  14.9k|            DOCTEST_CAST_TO_VOID(__VA_ARGS__)                                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2520|  14.9k|        } catch(...) { DOCTEST_RB.translateException(); }                                          \
  |  |  |  |  |  | 2521|  14.9k|        DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                               \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2522|  14.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  482|  14.9k|    CHECK_THROWS((void) &mb[N]); // NOT legal for containers like std::vector or MemBuffer
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  483|  14.9k|}
membuffer.cpp:_ZL20DOCTEST_ANON_FUNC_12v:
  485|  14.9k|TEST_CASE("MemBuffer::getSizeForCompression") {
  486|  14.9k|    CHECK_THROWS(MemBuffer::getSizeForCompression(0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  487|  14.9k|    CHECK_THROWS(MemBuffer::getSizeForDecompression(0));
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  488|  14.9k|    CHECK(MemBuffer::getSizeForCompression(1) == 513);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  489|  14.9k|    CHECK(MemBuffer::getSizeForCompression(256) == 800);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  490|  14.9k|    CHECK(MemBuffer::getSizeForCompression(1024) == 1664);
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  491|  14.9k|    CHECK(MemBuffer::getSizeForCompression(1024 * 1024) == 1180160);         // 0x00100000
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  492|  14.9k|    CHECK(MemBuffer::getSizeForCompression(64 * 1024 * 1024) == 75497984);   // 0x04000000
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  493|  14.9k|    CHECK(MemBuffer::getSizeForCompression(512 * 1024 * 1024) == 603980288); // 0x20000000
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  494|  14.9k|    CHECK(MemBuffer::getSizeForCompression(640 * 1024 * 1024) == 754975232); // 0x28000000
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  495|       |    // "682 MiB Ought to be Enough for Anyone" --Markus F.X.J. Oberhumer, 2023 ;-)
  496|  14.9k|    CHECK(MemBuffer::getSizeForCompression(682 * 1024 * 1024) == 804520448); // 0x2aa00000
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  497|  14.9k|    CHECK(MemBuffer::getSizeForCompression(715827428) == UPX_RSIZE_MAX);     // 0x2aaaa8e4
  ------------------
  |  | 2968|  14.9k|#define CHECK(...) DOCTEST_CHECK(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2439|  14.9k|#define DOCTEST_CHECK(...) DOCTEST_ASSERT_IMPLEMENT_1(DT_CHECK, __VA_ARGS__)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2394|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2395|  14.9k|        DOCTEST_ASSERT_IMPLEMENT_2(assert_type, __VA_ARGS__);                                      \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2383|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_WITH_PUSH("-Woverloaded-shift-op-parentheses")                  \
  |  |  |  |  |  |  |  | 2384|  14.9k|    /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */                                  \
  |  |  |  |  |  |  |  | 2385|  14.9k|    doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,          \
  |  |  |  |  |  |  |  | 2386|  14.9k|                                               __LINE__, #__VA_ARGS__);                            \
  |  |  |  |  |  |  |  | 2387|  14.9k|    DOCTEST_WRAP_IN_TRY(DOCTEST_RB.setResult(                                                      \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2144|  14.9k|    try {                                                                                          \
  |  |  |  |  |  |  |  |  |  | 2145|  14.9k|        x;                                                                                         \
  |  |  |  |  |  |  |  |  |  | 2146|  14.9k|    } catch(...) { DOCTEST_RB.translateException(); }
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2388|  14.9k|            doctest::detail::ExpressionDecomposer(doctest::assertType::assert_type)                \
  |  |  |  |  |  |  |  | 2389|  14.9k|            << __VA_ARGS__)) /* NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) */         \
  |  |  |  |  |  |  |  | 2390|  14.9k|    DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB)                                                    \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2391|  14.9k|    DOCTEST_CLANG_SUPPRESS_WARNING_POP
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2396|  14.9k|    } DOCTEST_FUNC_SCOPE_END // NOLINT(clang-analyzer-cplusplus.NewDeleteLeaks)
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  498|  14.9k|    CHECK_THROWS(MemBuffer::getSizeForCompression(715827428 + 1));           // 0x2aaaa8e4 + 1
  ------------------
  |  | 2970|  14.9k|#define CHECK_THROWS(...) DOCTEST_CHECK_THROWS(__VA_ARGS__)
  |  |  ------------------
  |  |  |  | 2526|  14.9k|#define DOCTEST_CHECK_THROWS(...) DOCTEST_ASSERT_THROWS_WITH((__VA_ARGS__), #__VA_ARGS__, DT_CHECK_THROWS, "")
  |  |  |  |  ------------------
  |  |  |  |  |  | 2501|  14.9k|    DOCTEST_FUNC_SCOPE_BEGIN {                                                                     \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2129|  14.9k|#define DOCTEST_FUNC_SCOPE_BEGIN do
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2502|  14.9k|        if(!doctest::getContextOptions()->no_throw) {                                              \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2502:12): [True: 14.9k, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2503|  14.9k|            doctest::detail::ResultBuilder DOCTEST_RB(doctest::assertType::assert_type, __FILE__,  \
  |  |  |  |  |  | 2504|  14.9k|                                                       __LINE__, expr_str, "", __VA_ARGS__);       \
  |  |  |  |  |  | 2505|  14.9k|            try {                                                                                  \
  |  |  |  |  |  | 2506|  14.9k|                DOCTEST_CAST_TO_VOID(expr)                                                         \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2155|  14.9k|#define DOCTEST_CAST_TO_VOID(...) __VA_ARGS__;
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2507|  14.9k|            } catch(...) { DOCTEST_RB.translateException(); }                                      \
  |  |  |  |  |  | 2508|  14.9k|            DOCTEST_ASSERT_LOG_REACT_RETURN(DOCTEST_RB);                                           \
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2136|  14.9k|    if(b.log()) DOCTEST_BREAK_INTO_DEBUGGER();                                                     \
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  |  457|      0|#define DOCTEST_BREAK_INTO_DEBUGGER() __asm__("int $3\n" : :) // NOLINT(hicpp-no-assembler)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2136:8): [True: 0, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2137|  14.9k|    b.react();                                                                                     \
  |  |  |  |  |  |  |  | 2138|  14.9k|    DOCTEST_FUNC_SCOPE_RET(!b.m_failed)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  | 2131|  14.9k|#define DOCTEST_FUNC_SCOPE_RET(v) (void)0
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  | 2509|  14.9k|        } 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.9k|    } DOCTEST_FUNC_SCOPE_END
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  | 2130|  14.9k|#define DOCTEST_FUNC_SCOPE_END while(false)
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  |  |  Branch (2130:38): [Folded, False: 14.9k]
  |  |  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  499|  14.9k|}

_ZN9MemBufferC2Ev:
  190|  2.85M|    explicit inline MemBuffer() noexcept : MemBufferBase<byte>() {}
_ZN9MemBuffer10getVoidPtrEv:
  206|   195k|    void *getVoidPtr() noexcept { return (void *) ptr; }
_ZNK9MemBuffer14getSizeInBytesEv:
  208|   155k|    unsigned getSizeInBytes() const noexcept { return size_in_bytes; }
_ZNK9MemBuffer7getSizeEv:
  209|  62.7k|    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|   287k|    forceinline void clear() may_throw { fill(0, size_in_bytes, 0); }
_ZN9MemBuffer6subrefEPKcmm:
  220|  4.35M|    forceinline pointer subref(const char *errfmt, size_t skip, size_t take) may_throw {
  221|  4.35M|        return (pointer) subref_impl(errfmt, skip, take);
  222|  4.35M|    }
_ZNK13MemBufferBaseIhEplIjEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   123k|        may_throw {
   98|   123k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|   123k|        return raw_bytes(bytes) + n;              // and check bytes
  100|   123k|    }
_ZNK13MemBufferBaseIhE9raw_bytesEm:
  111|  6.73M|    pointer raw_bytes(size_t bytes) const may_throw {
  112|  6.73M|        if (bytes > 0) {
  ------------------
  |  Branch (112:13): [True: 6.63M, False: 99.5k]
  ------------------
  113|  6.63M|            if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  6.63M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.63M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.63M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 6.61M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  114|  14.9k|                throwCantPack("MemBuffer raw_bytes unexpected NULL ptr");
  115|  6.61M|            if very_unlikely (bytes > size_in_bytes)
  ------------------
  |  |  245|  6.61M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  6.61M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  6.61M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 1.26M, False: 5.35M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  116|  1.26M|                throwCantPack("MemBuffer raw_bytes invalid size");
  117|  6.61M|        }
  118|  5.45M|        return ptr;
  119|  6.73M|    }
_ZNK13MemBufferBaseIhE7raw_ptrEv:
  108|  14.9k|    pointer raw_ptr() const noexcept { return ptr; }
_Z9raw_bytesIhEN13MemBufferBaseIT_E7pointerERKS2_m:
  149|  89.5k|                                                    size_t size_in_bytes) {
  150|  89.5k|    return mbb.raw_bytes(size_in_bytes);
  151|  89.5k|}
_ZN13MemBufferBaseIhEC2Ev:
   54|  3.18M|    explicit inline MemBufferBase() noexcept : ptr(nullptr), size_in_bytes(0) {}
_ZN13MemBufferBaseIhED2Ev:
   55|  3.18M|    forceinline ~MemBufferBase() noexcept {}
_ZNK13MemBufferBaseIhEcvPhEv:
   59|  40.2k|    operator pointer() const noexcept { return ptr; }
_ZNK13MemBufferBaseIhEplIxEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|    703|        may_throw {
   98|    703|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|    703|        return raw_bytes(bytes) + n;              // and check bytes
  100|    703|    }
_ZNK13MemBufferBaseIhEplIiEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   126k|        may_throw {
   98|   126k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|   126k|        return raw_bytes(bytes) + n;              // and check bytes
  100|   126k|    }
_ZNK13MemBufferBaseIhEixEl:
   62|  1.38M|    reference operator[](ptrdiff_t i) const may_throw {
   63|       |        // NOTE: &array[SIZE] is *not* legal for containers like std::vector and MemBuffer !
   64|  1.38M|        if very_unlikely (i < 0 || mem_size(element_size, i) >= size_in_bytes)
  ------------------
  |  |  245|  1.38M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  1.38M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.76M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 1.36M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 12, False: 1.38M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.9k, False: 1.36M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   65|  14.9k|            throwCantPack("MemBuffer invalid array index %td (%zu bytes)", i, size_in_bytes);
   66|  1.36M|        return ptr[i];
   67|  1.38M|    }
_ZplIhjENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  14.4k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  14.4k|    return mbb + n;
  138|  14.4k|}
_ZplIhyENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|  7.23k|operator+(U n, const MemBufferBase<T> &mbb) {
  137|  7.23k|    return mbb + n;
  138|  7.23k|}
_ZNK13MemBufferBaseIhEplIyEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|  7.23k|        may_throw {
   98|  7.23k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|  7.23k|        return raw_bytes(bytes) + n;              // and check bytes
  100|  7.23k|    }
_ZplIhxENSt3__19enable_ifIXsr3std11is_integralIT0_EE5valueEN13MemBufferBaseIT_E7pointerEE4typeES2_RKS5_:
  136|    703|operator+(U n, const MemBufferBase<T> &mbb) {
  137|    703|    return mbb + n;
  138|    703|}
_ZNK13MemBufferBaseIhEplImEENSt3__19enable_ifIXsr3std11is_integralIT_EE5valueEPhE4typeES4_:
   97|   537k|        may_throw {
   98|   537k|        size_t bytes = mem_size(element_size, n); // check mem_size
   99|   537k|        return raw_bytes(bytes) + n;              // and check bytes
  100|   537k|    }
_ZNK13MemBufferBaseIhE17raw_size_in_bytesEv:
  109|  14.9k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK13MemBufferBaseIhE5beginEv:
   73|  59.6k|    iterator begin() const may_throw {
   74|  59.6k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  59.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  59.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 44.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   75|  14.9k|            throwCantPack("MemBuffer begin() unexpected NULL ptr");
   76|  44.7k|        return ptr;
   77|  59.6k|    }
_ZNK13MemBufferBaseIhE3endEv:
   83|   551k|    iterator end() const may_throw {
   84|   551k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|   551k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   551k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   551k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 536k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   85|  14.9k|            throwCantPack("MemBuffer end() unexpected NULL ptr");
   86|   536k|        return ptr + size_in_bytes / element_size;
   87|   551k|    }
_ZNK13MemBufferBaseIhE6cbeginEv:
   78|  44.7k|    const_iterator cbegin() const may_throw {
   79|  44.7k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  44.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  44.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|  14.9k|            throwCantPack("MemBuffer cbegin() unexpected NULL ptr");
   81|  29.8k|        return ptr;
   82|  44.7k|    }
_ZNK13MemBufferBaseIhE4cendEv:
   88|  44.7k|    const_iterator cend() const may_throw {
   89|  44.7k|        if very_unlikely (ptr == nullptr)
  ------------------
  |  |  245|  44.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  44.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   90|  14.9k|            throwCantPack("MemBuffer cend() unexpected NULL ptr");
   91|  29.8k|        return ptr + size_in_bytes / element_size;
   92|  44.7k|    }
_ZN9MemBuffer8subref_uIPhEET_PKcm:
  224|   954k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   954k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   954k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   954k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   954k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   954k|    }
_ZN9MemBuffer8subref_uIP4LE16EET_PKcm:
  224|   477k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   477k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   477k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   477k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   477k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   477k|    }
_ZN9MemBuffer8subref_uIP4BE16EET_PKcm:
  224|   238k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   238k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   238k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   238k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   238k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   238k|    }
_ZN9MemBuffer8subref_uIP4LE32EET_PKcm:
  224|   477k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   477k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   477k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   477k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   477k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   477k|    }
_ZN9MemBuffer8subref_uIP4BE32EET_PKcm:
  224|   238k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   238k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   238k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   238k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   238k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   238k|    }
_ZN9MemBuffer8subref_uIP4LE64EET_PKcm:
  224|   477k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   477k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   477k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   477k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   477k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   477k|    }
_ZN9MemBuffer8subref_uIP4BE64EET_PKcm:
  224|   238k|    forceinline U subref_u(const char *errfmt, size_t skip) may_throw {
  225|   238k|        COMPILE_TIME_ASSERT(std::is_pointer<U>::value)
  ------------------
  |  |  247|   238k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|   238k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  226|   238k|        return (U) subref_impl(errfmt, skip, sizeof(typename std::remove_pointer<U>::type));
  227|   238k|    }

_Z12acc_vget_intii:
 6371|   178k|{
 6372|   178k|    __ACCLIB_VGET_BODY(int)
  ------------------
  |  | 6357|   178k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   178k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   178k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 178k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|   178k|    return v;
  ------------------
 6373|   178k|}
_Z13acc_vget_longli:
 6375|  44.7k|{
 6376|  44.7k|    __ACCLIB_VGET_BODY(long)
  ------------------
  |  | 6357|  44.7k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  44.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  44.7k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 44.7k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|  44.7k|    return v;
  ------------------
 6377|  44.7k|}
_Z21acc_vget_acc_int64l_txi:
 6380|   134k|{
 6381|   134k|    __ACCLIB_VGET_BODY(acc_int64l_t)
  ------------------
  |  | 6357|   134k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|   134k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   134k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 134k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|   134k|    return v;
  ------------------
 6382|   134k|}
_Z20acc_vget_acc_hsize_tmi:
 6385|  29.8k|{
 6386|  29.8k|    __ACCLIB_VGET_BODY(acc_hsize_t)
  ------------------
  |  | 6357|  29.8k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|  29.8k|    return v;
  ------------------
 6387|  29.8k|}
_Z20acc_vget_acc_hvoid_pPvi:
 6395|  59.6k|{
 6396|  59.6k|    __ACCLIB_VGET_BODY(acc_hvoid_p)
  ------------------
  |  | 6357|  59.6k|    if __acc_very_unlikely(acc_vget_ptr__) { \
  |  |  ------------------
  |  |  |  | 2046|  59.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 59.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  |  | 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|  59.6k|    return v;
  ------------------
 6397|  59.6k|}
_Z15acc_getopt_initP12acc_getopt_tiiPPc:
 6762|   134k|{
 6763|   134k|    memset(g, 0, sizeof(*g));
 6764|   134k|    g->optind = start_argc;
 6765|   134k|    g->argc = argc; g->argv = argv;
 6766|   134k|    g->optopt = -1;
 6767|   134k|}
_Z10acc_getoptP12acc_getopt_tPKcPK20acc_getopt_longopt_tPi:
 6801|   432k|{
 6802|   432k|#define pe  __ACCLIB_FUNCNAME(acc_getopt_perror)
 6803|   432k|    int ordering = ACC_GETOPT_PERMUTE;
 6804|   432k|    int missing_arg_ret = g->bad_option;
 6805|   432k|    char *a;
 6806|   432k|    if (shortopts) {
  ------------------
  |  Branch (6806:9): [True: 432k, False: 0]
  ------------------
 6807|   432k|        if (*shortopts == '-' || *shortopts == '+')
  ------------------
  |  Branch (6807:13): [True: 0, False: 432k]
  |  Branch (6807:34): [True: 0, False: 432k]
  ------------------
 6808|      0|            ordering = *shortopts++ == '-' ? ACC_GETOPT_RETURN_IN_ORDER : ACC_GETOPT_REQUIRE_ORDER;
  ------------------
  |  Branch (6808:24): [True: 0, False: 0]
  ------------------
 6809|   432k|        if (*shortopts == ':')
  ------------------
  |  Branch (6809:13): [True: 0, False: 432k]
  ------------------
 6810|      0|            missing_arg_ret = *shortopts++;
 6811|   432k|    }
 6812|   432k|    g->optarg = ACC_nullptr;
  ------------------
  |  |  442|   432k|#  define ACC_nullptr           nullptr
  ------------------
 6813|   432k|    if (g->optopt == -1)
  ------------------
  |  Branch (6813:9): [True: 134k, False: 298k]
  ------------------
 6814|   134k|        g->optopt = g->bad_option;
 6815|   432k|    if (longind)
  ------------------
  |  Branch (6815:9): [True: 432k, False: 0]
  ------------------
 6816|   432k|        *longind = -1;
 6817|   432k|    if (g->eof)
  ------------------
  |  Branch (6817:9): [True: 0, False: 432k]
  ------------------
 6818|      0|        return -1;
 6819|   432k|    if (g->shortpos)
  ------------------
  |  Branch (6819:9): [True: 0, False: 432k]
  ------------------
 6820|      0|        goto acc_label_next_shortopt;
 6821|   432k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   432k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6822|   432k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6823|   432k|    if (ordering == ACC_GETOPT_PERMUTE) {
  ------------------
  |  Branch (6823:9): [True: 432k, False: 0]
  ------------------
 6824|   462k|        while (g->optind < g->argc && !(g->argv[g->optind][0] == '-' && g->argv[g->optind][1]))
  ------------------
  |  Branch (6824:16): [True: 328k, False: 134k]
  |  Branch (6824:41): [True: 298k, False: 29.8k]
  |  Branch (6824:73): [True: 298k, False: 0]
  ------------------
 6825|  29.8k|            ++g->optind;
 6826|   432k|        g->pending_rotate_middle = g->optind;
 6827|   432k|    }
 6828|   432k|    if (g->optind >= g->argc) {
  ------------------
  |  Branch (6828:9): [True: 134k, False: 298k]
  ------------------
 6829|   134k|        g->optind = g->pending_rotate_first;
 6830|   134k|        goto acc_label_eof;
 6831|   134k|    }
 6832|   298k|    a = g->argv[g->optind];
 6833|   298k|    if (a[0] == '-' && a[1] == '-') {
  ------------------
  |  Branch (6833:9): [True: 298k, False: 0]
  |  Branch (6833:24): [True: 268k, False: 29.8k]
  ------------------
 6834|   268k|        size_t l = 0;
 6835|   268k|        const acc_getopt_longopt_p o;
 6836|   268k|        const acc_getopt_longopt_p o1 = ACC_nullptr;
  ------------------
  |  |  442|   268k|#  define ACC_nullptr           nullptr
  ------------------
 6837|   268k|        const acc_getopt_longopt_p o2 = ACC_nullptr;
  ------------------
  |  |  442|   268k|#  define ACC_nullptr           nullptr
  ------------------
 6838|   268k|        int need_exact = 0;
 6839|   268k|        ++g->optind;
 6840|   268k|        if (!a[2])
  ------------------
  |  Branch (6840:13): [True: 0, False: 268k]
  ------------------
 6841|      0|            goto acc_label_eof;
 6842|  1.70M|        for (a += 2; a[l] && a[l] != '=' && a[l] != '#'; )
  ------------------
  |  Branch (6842:22): [True: 1.43M, False: 268k]
  |  Branch (6842:30): [True: 1.43M, False: 0]
  |  Branch (6842:45): [True: 1.43M, False: 0]
  ------------------
 6843|  1.43M|            ++l;
 6844|  10.2M|        for (o = longopts; l && o && o->name; ++o) {
  ------------------
  |  Branch (6844:28): [True: 10.2M, False: 0]
  |  Branch (6844:33): [True: 10.2M, False: 0]
  |  Branch (6844:38): [True: 10.2M, False: 0]
  ------------------
 6845|  10.2M|            if (strncmp(a, o->name, l) != 0)
  ------------------
  |  Branch (6845:17): [True: 10.0M, False: 268k]
  ------------------
 6846|  10.0M|                continue;
 6847|   268k|            if (!o->name[l])
  ------------------
  |  Branch (6847:17): [True: 268k, False: 0]
  ------------------
 6848|   268k|                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|   268k|    acc_label_found_o:
 6861|   268k|        a += l;
 6862|   268k|        switch (o->has_arg & 0x2f) {
 6863|      0|        case ACC_GETOPT_OPTIONAL_ARG:
  ------------------
  |  Branch (6863:9): [True: 0, False: 268k]
  ------------------
 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: 268k]
  ------------------
 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: 268k]
  ------------------
 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|   268k|        default:
  ------------------
  |  Branch (6881:9): [True: 268k, False: 0]
  ------------------
 6882|   268k|            if (a[0])
  ------------------
  |  Branch (6882:17): [True: 0, False: 268k]
  ------------------
 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|   268k|            break;
 6885|   268k|        }
 6886|   268k|        if (longind)
  ------------------
  |  Branch (6886:13): [True: 268k, False: 0]
  ------------------
 6887|   268k|            *longind = (int) (o - longopts);
 6888|   268k|        if (o->flag) {
  ------------------
  |  Branch (6888:13): [True: 0, False: 268k]
  ------------------
 6889|      0|            *o->flag = o->val;
 6890|      0|            return 0;
 6891|      0|        }
 6892|   268k|        return o->val;
 6893|   268k|    }
 6894|  29.8k|    if (a[0] == '-' && a[1]) {
  ------------------
  |  Branch (6894:9): [True: 29.8k, False: 0]
  |  Branch (6894:24): [True: 29.8k, False: 0]
  ------------------
 6895|  29.8k|        unsigned char c;
 6896|  29.8k|        const char *s;
 6897|  29.8k|    acc_label_next_shortopt:
 6898|  29.8k|        a = g->argv[g->optind] + ++g->shortpos;
 6899|  29.8k|        c = (unsigned char) *a++; s = ACC_nullptr;
  ------------------
  |  |  442|  29.8k|#  define ACC_nullptr           nullptr
  ------------------
 6900|  29.8k|        if (c != ':' && shortopts)
  ------------------
  |  Branch (6900:13): [True: 29.8k, False: 0]
  |  Branch (6900:25): [True: 29.8k, False: 0]
  ------------------
 6901|  29.8k|            s = strchr(shortopts, c);
 6902|  29.8k|        if (!s || s[1] != ':') {
  ------------------
  |  Branch (6902:13): [True: 0, False: 29.8k]
  |  Branch (6902:19): [True: 14.9k, False: 14.9k]
  ------------------
 6903|  14.9k|            if (!a[0])
  ------------------
  |  Branch (6903:17): [True: 14.9k, False: 0]
  ------------------
 6904|  14.9k|                { ++g->optind; g->shortpos = 0; }
 6905|  14.9k|            if (!s) {
  ------------------
  |  Branch (6905:17): [True: 0, False: 14.9k]
  ------------------
 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.9k|        } else {
 6910|  14.9k|            ++g->optind; g->shortpos = 0;
 6911|  14.9k|            if (a[0])
  ------------------
  |  Branch (6911:17): [True: 0, False: 14.9k]
  ------------------
 6912|      0|                g->optarg = a;
 6913|  14.9k|            else if (s[2] != ':') {
  ------------------
  |  Branch (6913:22): [True: 14.9k, False: 0]
  ------------------
 6914|  14.9k|                if (g->optind < g->argc)
  ------------------
  |  Branch (6914:21): [True: 14.9k, False: 0]
  ------------------
 6915|  14.9k|                    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.9k|            }
 6921|  14.9k|        }
 6922|  29.8k|        return c;
 6923|  29.8k|    }
 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|   134k|acc_label_eof:
 6930|   134k|    g->optind -= __ACCLIB_FUNCNAME(acc_getopt_rotate)(g->argv, g->pending_rotate_first, g->pending_rotate_middle, g->optind);
  ------------------
  |  | 5069|   134k|#  define __ACCLIB_FUNCNAME(f)  f
  ------------------
 6931|   134k|    g->pending_rotate_first = g->pending_rotate_middle = g->optind;
 6932|   134k|    g->eof = 1;
 6933|   134k|    return -1;
 6934|      0|#undef pe
 6935|      0|}
_Z14acc_safe_hreadiPvl:
 7153|   563k|{
 7154|   563k|    acc_hbyte_p b = (acc_hbyte_p) buf;
  ------------------
  |  | 5114|   563k|#  define acc_hbyte_p   unsigned char *
  ------------------
 7155|   563k|    long l = 0;
 7156|   563k|    int saved_errno;
 7157|   563k|    saved_errno = errno;
 7158|  1.12M|    while (l < size)
  ------------------
  |  Branch (7158:12): [True: 578k, False: 547k]
  ------------------
 7159|   578k|    {
 7160|   578k|        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|   578k|        errno = 0; n = read(fd, b, n);
 7168|   578k|#endif
 7169|   578k|        if (n == 0)
  ------------------
  |  Branch (7169:13): [True: 15.9k, False: 562k]
  ------------------
 7170|  15.9k|            break;
 7171|   562k|        if (n < 0) {
  ------------------
  |  Branch (7171:13): [True: 0, False: 562k]
  ------------------
 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|   562k|        b += n; l += n;
 7182|   562k|    }
 7183|   563k|    errno = saved_errno;
 7184|   563k|    return l;
 7185|   563k|}
_Z15acc_safe_hwriteiPKvl:
 7187|  22.6k|{
 7188|  22.6k|    const acc_hbyte_p b = (const acc_hbyte_p) buf;
 7189|  22.6k|    long l = 0;
 7190|  22.6k|    int saved_errno;
 7191|  22.6k|    saved_errno = errno;
 7192|  45.2k|    while (l < size)
  ------------------
  |  Branch (7192:12): [True: 22.6k, False: 22.6k]
  ------------------
 7193|  22.6k|    {
 7194|  22.6k|        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|  22.6k|        errno = 0; n = write(fd, b, n);
 7202|  22.6k|#endif
 7203|  22.6k|        if (n == 0)
  ------------------
  |  Branch (7203:13): [True: 0, False: 22.6k]
  ------------------
 7204|      0|            break;
 7205|  22.6k|        if (n < 0) {
  ------------------
  |  Branch (7205:13): [True: 0, False: 22.6k]
  ------------------
 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|  22.6k|        b += n; l += n;
 7216|  22.6k|    }
 7217|  22.6k|    errno = saved_errno;
 7218|  22.6k|    return l;
 7219|  22.6k|}
_Z10acc_isattyi:
 7760|   464k|{
 7761|   464k|    if (fd < 0)
  ------------------
  |  Branch (7761:9): [True: 0, False: 464k]
  ------------------
 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|   464k|#if (HAVE_ISATTY)
 7794|   464k|    return (isatty(fd)) ? 1 : 0;
  ------------------
  |  Branch (7794:12): [True: 0, False: 464k]
  ------------------
 7795|       |#else
 7796|       |    return 0;
 7797|       |#endif
 7798|   464k|}
util.cpp:_ZL17acc_getopt_rotatePPciii:
 6769|   566k|{
 6770|   566k|    int i = middle, n = middle - first;
 6771|   566k|    if (first >= middle || middle >= last) return 0;
  ------------------
  |  Branch (6771:9): [True: 536k, False: 29.8k]
  |  Branch (6771:28): [True: 14.9k, False: 14.9k]
  ------------------
 6772|  29.8k|    for (;;) {
 6773|  29.8k|        char *t = p[first]; p[first++] = p[i]; p[i++] = t;
 6774|  29.8k|        if (first == middle) {
  ------------------
  |  Branch (6774:13): [True: 29.8k, False: 0]
  ------------------
 6775|  29.8k|            if (i == last) break;
  ------------------
  |  Branch (6775:17): [True: 14.9k, False: 14.9k]
  ------------------
 6776|  14.9k|            middle = i;
 6777|  14.9k|        } else if (i == last)
  ------------------
  |  Branch (6777:20): [True: 0, False: 0]
  ------------------
 6778|      0|            i = middle;
 6779|  29.8k|    }
 6780|  14.9k|    return n;
 6781|   566k|}

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

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

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

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

_Z20mem_size_valid_bytesy:
   36|  1.52M|inline bool mem_size_valid_bytes(upx_uint64_t bytes) noexcept { return bytes <= UPX_RSIZE_MAX; }
  ------------------
  |  |  169|  1.52M|#define UPX_RSIZE_MAX     UPX_RSIZE_MAX_MEM
  |  |  ------------------
  |  |  |  |  170|  1.52M|#define UPX_RSIZE_MAX_MEM (768 * 1024 * 1024) // DO NOT CHANGE !!!
  |  |  ------------------
  ------------------
_Z8mem_sizeyy:
   50|  10.7M|inline upx_rsize_t mem_size(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   51|  10.7M|    upx_uint64_t bytes = element_size * n;
   52|  10.7M|    if very_unlikely (element_size == 0 || element_size > UPX_RSIZE_MAX || n > UPX_RSIZE_MAX ||
  ------------------
  |  |  245|  10.7M|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  10.7M|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  64.5M|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 44.8k, False: 10.7M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.7M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 10.7M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 44.8k, False: 10.7M]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 7, False: 10.7M]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   53|  44.8k|                      bytes > UPX_RSIZE_MAX)
   54|  44.8k|        return mem_size(element_size, n, 0, 0); // this will throw
   55|  10.7M|    return ACC_ICONV(upx_rsize_t, bytes);
  ------------------
  |  | 1546|  10.7M|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  10.7M|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   56|  10.7M|}
_Z14mem_size_get_nyy:
   59|  13.4k|inline upx_rsize_t mem_size_get_n(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   60|  13.4k|    (void) mem_size(element_size, n); // assert size
   61|  13.4k|    return ACC_ICONV(upx_rsize_t, n); // and return n
  ------------------
  |  | 1546|  13.4k|#  define ACC_ICONV(t,e)                    ACC_STATIC_CAST(t, e)
  |  |  ------------------
  |  |  |  | 1472|  13.4k|#    define ACC_STATIC_CAST(t,e)            (static_cast<t> (e))
  |  |  ------------------
  ------------------
   62|  13.4k|}
_Z15mem_size_assertyy:
   65|   479k|inline void mem_size_assert(upx_uint64_t element_size, upx_uint64_t n) may_throw {
   66|   479k|    (void) mem_size(element_size, n); // assert size
   67|   479k|}
_Z24mem_size_assert_noexceptyy:
   68|  29.8k|inline void mem_size_assert_noexcept(upx_uint64_t element_size, upx_uint64_t n) noexcept {
   69|  29.8k|    assert_noexcept(mem_size_valid(element_size, n)); // assert size
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   70|  29.8k|}
_Z15ptr_get_addressPKv:
  120|  36.3M|forceinline upx_ptraddr_t ptr_get_address(const void *p) noexcept { return (upx_uintptr_t) p; }
_Z12ptraddr_diffPKvS0_:
  124|  9.23M|forceinline upx_sptraddr_t ptraddr_diff(const void *a, const void *b) noexcept {
  125|  9.23M|    return ptr_get_address(a) - ptr_get_address(b);
  126|  9.23M|}
_Z14ptr_is_alignedPKvm:
  133|  29.8k|forceinline bool ptr_is_aligned(const void *p, size_t alignment) noexcept {
  134|  29.8k|    assert_noexcept(upx::has_single_bit(alignment));
  ------------------
  |  |  496|  29.8k|    ((void) (__acc_cte(e) || (assertFailed(#e, __FILE__, __LINE__, __func__), 0)))
  |  |  ------------------
  |  |  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (1558:37): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  |  |  |  Branch (496:30): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  135|      0|    return (ptr_get_address(p) & (alignment - 1)) == 0;
  136|  29.8k|}
_Z20ptr_check_no_overlapPKvmS0_m:
  162|      5|    may_throw {
  163|      5|    ptraddr_check_no_overlap(ptr_get_address(a), a_size, ptr_get_address(b), b_size);
  164|      5|}
_Z25ptr_invalidate_and_poisonIiEvRPT_:
  179|   104k|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|   104k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|   104k|#endif
  187|   104k|}
_Z25ptr_invalidate_and_poisonIdEvRPT_:
  179|  14.9k|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.9k|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|  14.9k|#endif
  187|  14.9k|}
_Z14ptr_is_alignedILm16EEbPKv:
  129|  29.8k|forceinline bool ptr_is_aligned(const void *p) noexcept {
  130|  29.8k|    static_assert(upx::has_single_bit(Alignment));
  131|  29.8k|    return (ptr_get_address(p) & (Alignment - 1)) == 0;
  132|  29.8k|}
_Z4NewTI4LE32EPT_y:
   74|  29.8k|inline T *NewT(upx_uint64_t n) may_throw {
   75|  29.8k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|  29.8k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|  29.8k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|  29.8k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|  29.8k|    T *array = new T[size_t(n)];
   80|  29.8k|#if !defined(__SANITIZE_MEMORY__)
   81|  29.8k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|  29.8k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  59.6k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  29.8k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|  29.8k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  29.8k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  29.8k|    __extension__                                                 \
  |  |  |  |  427|  29.8k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  29.8k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  29.8k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  29.8k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  29.8k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  29.8k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  29.8k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  29.8k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  29.8k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  29.8k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  29.8k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  29.8k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  29.8k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  29.8k|                     : "cc", "memory"                             \
  |  |  |  |  441|  29.8k|                    );                                            \
  |  |  |  |  442|  29.8k|    _zzq_result;                                                  \
  |  |  |  |  443|  29.8k|    })
  |  |  ------------------
  |  |  121|  29.8k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  29.8k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|  29.8k|    }
   85|  29.8k|#endif
   86|  29.8k|    UNUSED(bytes);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|  29.8k|    return array;
   88|  29.8k|}
_Z4NewTI4BE32EPT_y:
   74|  29.8k|inline T *NewT(upx_uint64_t n) may_throw {
   75|  29.8k|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|  29.8k|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|  29.8k|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|  29.8k|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|  29.8k|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|  29.8k|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|  29.8k|    T *array = new T[size_t(n)];
   80|  29.8k|#if !defined(__SANITIZE_MEMORY__)
   81|  29.8k|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|  29.8k|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|  59.6k|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.8k, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 29.8k, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|  29.8k|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|  29.8k|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|  29.8k|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|  29.8k|    __extension__                                                 \
  |  |  |  |  427|  29.8k|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|  29.8k|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|  29.8k|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|  29.8k|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|  29.8k|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|  29.8k|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|  29.8k|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|  29.8k|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|  29.8k|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|  29.8k|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|  29.8k|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|  29.8k|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|  29.8k|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|  29.8k|                     : "cc", "memory"                             \
  |  |  |  |  441|  29.8k|                    );                                            \
  |  |  |  |  442|  29.8k|    _zzq_result;                                                  \
  |  |  |  |  443|  29.8k|    })
  |  |  ------------------
  |  |  121|  29.8k|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|  29.8k|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|  29.8k|    }
   85|  29.8k|#endif
   86|  29.8k|    UNUSED(bytes);
  ------------------
  |  |  249|  29.8k|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|  29.8k|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|  29.8k|    return array;
   88|  29.8k|}
_Z4NewTIN6LeFile23le_object_table_entry_tEEPT_y:
   74|    248|inline T *NewT(upx_uint64_t n) may_throw {
   75|    248|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    248|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    248|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    248|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    248|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    248|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    248|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    248|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    248|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    248|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    248|    T *array = new T[size_t(n)];
   80|    248|#if !defined(__SANITIZE_MEMORY__)
   81|    248|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    248|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    484|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 235, False: 13]
  |  |  |  |  |  Branch (2016:54): [True: 236, False: 12]
  |  |  |  |  |  Branch (2016:54): [True: 235, False: 1]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    235|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    235|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    235|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    235|    __extension__                                                 \
  |  |  |  |  427|    235|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    235|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    235|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    235|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    235|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    235|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    235|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    235|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    235|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    235|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    235|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    235|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    235|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    235|                     : "cc", "memory"                             \
  |  |  |  |  441|    235|                    );                                            \
  |  |  |  |  442|    235|    _zzq_result;                                                  \
  |  |  |  |  443|    235|    })
  |  |  ------------------
  |  |  121|    235|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    235|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    235|    }
   85|    248|#endif
   86|    248|    UNUSED(bytes);
  ------------------
  |  |  249|    248|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    248|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    248|    return array;
   88|    248|}
_Z4NewTIN6LeFile18le_pagemap_entry_tEEPT_y:
   74|    193|inline T *NewT(upx_uint64_t n) may_throw {
   75|    193|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    193|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    193|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    193|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    193|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    193|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    193|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    193|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    193|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    193|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    193|    T *array = new T[size_t(n)];
   80|    193|#if !defined(__SANITIZE_MEMORY__)
   81|    193|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    193|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    386|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 193, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 193, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 193, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    193|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    193|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    193|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    193|    __extension__                                                 \
  |  |  |  |  427|    193|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    193|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    193|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    193|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    193|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    193|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    193|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    193|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    193|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    193|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    193|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    193|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    193|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    193|                     : "cc", "memory"                             \
  |  |  |  |  441|    193|                    );                                            \
  |  |  |  |  442|    193|    _zzq_result;                                                  \
  |  |  |  |  443|    193|    })
  |  |  ------------------
  |  |  121|    193|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    193|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    193|    }
   85|    193|#endif
   86|    193|    UNUSED(bytes);
  ------------------
  |  |  249|    193|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    193|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    193|    return array;
   88|    193|}
_Z4NewTIhEPT_y:
   74|    505|inline T *NewT(upx_uint64_t n) may_throw {
   75|    505|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    505|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    505|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    505|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    505|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    505|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    505|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    505|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    505|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    505|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    505|    T *array = new T[size_t(n)];
   80|    505|#if !defined(__SANITIZE_MEMORY__)
   81|    505|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    505|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    956|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 265, False: 240]
  |  |  |  |  |  Branch (2016:54): [True: 451, False: 54]
  |  |  |  |  |  Branch (2016:54): [True: 265, False: 186]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    265|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    265|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    265|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    265|    __extension__                                                 \
  |  |  |  |  427|    265|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    265|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    265|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    265|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    265|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    265|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    265|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    265|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    265|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    265|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    265|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    265|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    265|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    265|                     : "cc", "memory"                             \
  |  |  |  |  441|    265|                    );                                            \
  |  |  |  |  442|    265|    _zzq_result;                                                  \
  |  |  |  |  443|    265|    })
  |  |  ------------------
  |  |  121|    265|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    265|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    265|    }
   85|    505|#endif
   86|    505|    UNUSED(bytes);
  ------------------
  |  |  249|    505|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    505|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    505|    return array;
   88|    505|}
_Z4NewTIjEPT_y:
   74|    113|inline T *NewT(upx_uint64_t n) may_throw {
   75|    113|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    113|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    113|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   76|    113|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    113|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    113|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   77|    113|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    113|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    113|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   78|    113|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
   79|    113|    T *array = new T[size_t(n)];
   80|    113|#if !defined(__SANITIZE_MEMORY__)
   81|    113|    if likely (array != nullptr && bytes > 0) {
  ------------------
  |  |  242|    113|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    226|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 113, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 113, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 113, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   82|    113|        memset(array, 0xfb, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
   83|    113|        (void) VALGRIND_MAKE_MEM_UNDEFINED(array, bytes);
  ------------------
  |  |  120|    113|    VALGRIND_DO_CLIENT_REQUEST_EXPR(0 /* default return */,      \
  |  |  ------------------
  |  |  |  |  426|    113|    __extension__                                                 \
  |  |  |  |  427|    113|    ({ volatile unsigned long int _zzq_args[6];                   \
  |  |  |  |  428|    113|    volatile unsigned long int _zzq_result;                       \
  |  |  |  |  429|    113|    _zzq_args[0] = (unsigned long int)(_zzq_request);             \
  |  |  |  |  430|    113|    _zzq_args[1] = (unsigned long int)(_zzq_arg1);                \
  |  |  |  |  431|    113|    _zzq_args[2] = (unsigned long int)(_zzq_arg2);                \
  |  |  |  |  432|    113|    _zzq_args[3] = (unsigned long int)(_zzq_arg3);                \
  |  |  |  |  433|    113|    _zzq_args[4] = (unsigned long int)(_zzq_arg4);                \
  |  |  |  |  434|    113|    _zzq_args[5] = (unsigned long int)(_zzq_arg5);                \
  |  |  |  |  435|    113|    __asm__ volatile(__SPECIAL_INSTRUCTION_PREAMBLE               \
  |  |  |  |  436|    113|                     /* %RDX = client_request ( %RAX ) */         \
  |  |  |  |  437|    113|                     "xchgq %%rbx,%%rbx"                          \
  |  |  |  |  438|    113|                     : "=d" (_zzq_result)                         \
  |  |  |  |  439|    113|                     : "a" (&_zzq_args[0]), "0" (_zzq_default)    \
  |  |  |  |  440|    113|                     : "cc", "memory"                             \
  |  |  |  |  441|    113|                    );                                            \
  |  |  |  |  442|    113|    _zzq_result;                                                  \
  |  |  |  |  443|    113|    })
  |  |  ------------------
  |  |  121|    113|                            VG_USERREQ__MAKE_MEM_UNDEFINED,      \
  |  |  122|    113|                            (_qzz_addr), (_qzz_len), 0, 0, 0)
  ------------------
   84|    113|    }
   85|    113|#endif
   86|    113|    UNUSED(bytes);
  ------------------
  |  |  249|    113|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|    113|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
   87|    113|    return array;
   88|    113|}
_Z25ptr_invalidate_and_poisonIhEvRPT_:
  179|     10|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|     10|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|     10|#endif
  187|     10|}
_Z25ptr_invalidate_and_poisonIN6PeFile5Reloc9BaseRelocEEvRPT_:
  179|      5|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|      5|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|      5|#endif
  187|      5|}
_Z25ptr_invalidate_and_poisonI4LE16EvRPT_:
  179|      5|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|      5|    ptr = (T *) (void *) 512; // NOLINT(performance-no-int-to-ptr)
  186|      5|#endif
  187|      5|}
_Z5New0TIPN6PeFile8Resource9upx_rnodeEEPT_y:
   96|    115|inline T *New0T(upx_uint64_t n) may_throw {
   97|    115|    COMPILE_TIME_ASSERT(std::is_standard_layout<T>::value)
  ------------------
  |  |  247|    115|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    115|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   98|    115|    COMPILE_TIME_ASSERT(std::is_trivially_copyable<T>::value)
  ------------------
  |  |  247|    115|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    115|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
   99|    115|    COMPILE_TIME_ASSERT(std::is_trivially_default_constructible<T>::value)
  ------------------
  |  |  247|    115|#define COMPILE_TIME_ASSERT(e) ACC_COMPILE_TIME_ASSERT(e)
  |  |  ------------------
  |  |  |  | 2112|    115|#    define ACC_COMPILE_TIME_ASSERT(e)  {static_assert(e, #e);}
  |  |  ------------------
  ------------------
  100|    115|    const upx_rsize_t bytes = mem_size(sizeof(T), n); // assert size
  101|    115|    T *array = new T[size_t(n)];
  102|    115|    if likely (array != nullptr && bytes > 0)
  ------------------
  |  |  242|    115|#define likely                __acc_likely
  |  |  ------------------
  |  |  |  | 2016|    230|#  define __acc_likely(e)       (__builtin_expect(!!(e),1))
  |  |  |  |  ------------------
  |  |  |  |  |  Branch (2016:34): [True: 115, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 115, False: 0]
  |  |  |  |  |  Branch (2016:54): [True: 115, False: 0]
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  103|    115|        memset(array, 0, bytes); // NOLINT(bugprone-multi-level-implicit-pointer-conversion)
  104|    115|    return array;
  105|    115|}
_Z8ptr_diffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEiE4typeEPKS2_PKS3_:
  146|  44.7k|ptr_diff(const T *a, const U *b) may_throw {
  147|  44.7k|    return ptr_diff_bytes(a, b);
  148|  44.7k|}
_Z9ptr_udiffIhhENSt3__19enable_ifIXaaeqstT_Li1EeqstT0_Li1EEjE4typeEPKS2_PKS3_:
  151|  44.7k|ptr_udiff(const T *a, const U *b) may_throw {
  152|  44.7k|    return ptr_udiff_bytes(a, b);
  153|  44.7k|}

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

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

_ZN5XSpan14XSpanDebugFile4makeEPKcm:
   61|  1.65M|    static forceinline_constexpr XSpanDebugFile make(const char *f, size_t l) noexcept {
   62|  1.65M|        return XSpanDebugFile(f, l);
   63|  1.65M|    }
_ZN5XSpan14XSpanDebugFileC2Ev:
   64|  3.59M|    forceinline_constexpr XSpanDebugFile() noexcept : src_file(nullptr), src_line(0) {}
_ZN5XSpan14XSpanDebugFileC2EPKcm:
   66|  1.65M|    explicit forceinline_constexpr XSpanDebugFile(const char *f, size_t l) noexcept : src_file(f),
   67|  1.65M|                                                                                      src_line(l) {}
_ZN5XSpan16XSpanSizeInBytesC2Em:
   94|  1.04M|    explicit forceinline_constexpr XSpanSizeInBytes(size_t bytes) noexcept : size_in_bytes(bytes) {}
_ZN5XSpan21XSpanInternalDummyArgC2EONS0_9DummyEnumE:
  266|   829k|    explicit forceinline_constexpr XSpanInternalDummyArg(DummyEnum &&) noexcept {}
dt_cxxlib.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|   894k|static inline size_t xspan_mem_size(size_t n) {
  137|   894k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   894k|}
dt_cxxlib.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|   894k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   894k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   894k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   894k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  4.04M|static inline size_t xspan_mem_size(size_t n) {
  137|  4.04M|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  4.04M|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  4.04M|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  4.04M|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  4.04M|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  4.04M|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeIKcEEmm:
  136|  59.6k|static inline size_t xspan_mem_size(size_t n) {
  137|  59.6k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  59.6k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implIKcEEmm:
  125|  59.6k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  59.6k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  59.6k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  59.6k|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIcEEvl:
  141|  3.80M|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  3.80M|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 3.80M, False: 0]
  ------------------
  143|  3.80M|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  3.80M|}
dt_xspan.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffItEEvl:
  141|  89.4k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  89.4k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 89.4k, False: 0]
  ------------------
  143|  89.4k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  89.4k|}
dt_xspan.cpp:_ZN5XSpanL14xspan_mem_sizeItEEmm:
  136|  89.4k|static inline size_t xspan_mem_size(size_t n) {
  137|  89.4k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  89.4k|}
dt_xspan.cpp:_ZN5XSpanL19xspan_mem_size_implItEEmm:
  125|  89.4k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  89.4k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  89.4k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  89.4k|}
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|     61|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|     61|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 61, False: 0]
  ------------------
  143|     61|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|     61|}
lefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|     61|static inline size_t xspan_mem_size(size_t n) {
  137|     61|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|     61|}
lefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|     61|static inline size_t xspan_mem_size_impl(size_t n) {
  126|     61|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|     61|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|     61|}
p_com.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  89.5k|static inline size_t xspan_mem_size(size_t n) {
  137|  89.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  89.5k|}
p_com.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  89.5k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  89.5k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  89.5k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  89.5k|}
p_djgpp2.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  3.16k|static inline size_t xspan_mem_size(size_t n) {
  137|  3.16k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  3.16k|}
p_djgpp2.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  3.16k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  3.16k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  3.16k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  3.16k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|   120k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   120k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 120k, False: 0]
  ------------------
  143|   120k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   120k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|   120k|static inline size_t xspan_mem_size(size_t n) {
  137|   120k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   120k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|   120k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   120k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   120k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   120k|}
p_exe.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|   567k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   567k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 567k, False: 0]
  ------------------
  143|   567k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   567k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|   567k|static inline size_t xspan_mem_size(size_t n) {
  137|   567k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   567k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|   567k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   567k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   567k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   567k|}
p_exe.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|  59.9k|static inline size_t xspan_mem_size(size_t n) {
  137|  59.9k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  59.9k|}
p_exe.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|  59.9k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  59.9k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  59.9k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  59.9k|}
packer.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  37.2k|static inline size_t xspan_mem_size(size_t n) {
  137|  37.2k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  37.2k|}
packer.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  37.2k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  37.2k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  37.2k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  37.2k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|   119k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   119k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 119k, False: 0]
  ------------------
  143|   119k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   119k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|   119k|static inline size_t xspan_mem_size(size_t n) {
  137|   119k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   119k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|   119k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   119k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   119k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   119k|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|  5.39k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  5.39k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 5.39k, False: 0]
  ------------------
  143|  5.39k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  5.39k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  5.39k|static inline size_t xspan_mem_size(size_t n) {
  137|  5.39k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  5.39k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  5.39k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  5.39k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  5.39k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  5.39k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|      5|static inline size_t xspan_mem_size(size_t n) {
  137|      5|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|      5|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|      5|static inline size_t xspan_mem_size_impl(size_t n) {
  126|      5|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|      5|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|      5|}
packer_r.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  141|  59.8k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  59.8k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 59.8k, False: 0]
  ------------------
  143|  59.8k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  59.8k|}
packer_r.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  136|  59.8k|static inline size_t xspan_mem_size(size_t n) {
  137|  59.8k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  59.8k|}
packer_r.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  125|  59.8k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  59.8k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  59.8k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  59.8k|}
packhead.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|   252k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   252k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 252k, False: 0]
  ------------------
  143|   252k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   252k|}
packhead.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|   252k|static inline size_t xspan_mem_size(size_t n) {
  137|   252k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   252k|}
packhead.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|   252k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   252k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   252k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   252k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIhEEvl:
  141|   193k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|   193k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 193k, False: 0]
  ------------------
  143|   193k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|   193k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIhEEmm:
  136|   193k|static inline size_t xspan_mem_size(size_t n) {
  137|   193k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|   193k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIhEEmm:
  125|   193k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|   193k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|   193k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|   193k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIKhEEvl:
  141|  73.5k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  73.5k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 73.5k, False: 0]
  ------------------
  143|  73.5k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  73.5k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIKhEEmm:
  136|  73.5k|static inline size_t xspan_mem_size(size_t n) {
  137|  73.5k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  73.5k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIKhEEmm:
  125|  73.5k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  73.5k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  73.5k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  73.5k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE16EEvl:
  141|  59.8k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  59.8k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 59.8k, False: 0]
  ------------------
  143|  59.8k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  59.8k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE16EEmm:
  136|  59.8k|static inline size_t xspan_mem_size(size_t n) {
  137|  59.8k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  59.8k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE16EEmm:
  125|  59.8k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  59.8k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  59.8k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  59.8k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile12pe_section_tEEEvl:
  141|  1.64k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  1.64k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 1.64k, False: 0]
  ------------------
  143|  1.64k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  1.64k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile12pe_section_tEEEmm:
  136|  1.64k|static inline size_t xspan_mem_size(size_t n) {
  137|  1.64k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  1.64k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile12pe_section_tEEEmm:
  125|  1.64k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  1.64k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  1.64k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  1.64k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIcEEmm:
  136|    727|static inline size_t xspan_mem_size(size_t n) {
  137|    727|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    727|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIcEEmm:
  125|    727|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    727|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    727|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    727|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE32EEvl:
  141|  5.92k|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|  5.92k|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 5.92k, False: 0]
  ------------------
  143|  5.92k|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|  5.92k|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE32EEmm:
  136|  5.92k|static inline size_t xspan_mem_size(size_t n) {
  137|  5.92k|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|  5.92k|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE32EEmm:
  125|  5.92k|static inline size_t xspan_mem_size_impl(size_t n) {
  126|  5.92k|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|  5.92k|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|  5.92k|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffIN6PeFile11import_descEEEvl:
  141|    174|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|    174|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 174, False: 0]
  ------------------
  143|    174|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|    174|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeIN6PeFile11import_descEEEmm:
  136|    174|static inline size_t xspan_mem_size(size_t n) {
  137|    174|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    174|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implIN6PeFile11import_descEEEmm:
  125|    174|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    174|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    174|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    174|}
pefile.cpp:_ZN5XSpanL29xspan_mem_size_assert_ptrdiffI4LE64EEvl:
  141|    465|static inline void xspan_mem_size_assert_ptrdiff(ptrdiff_t n) {
  142|    465|    if (n >= 0)
  ------------------
  |  Branch (142:9): [True: 465, False: 0]
  ------------------
  143|    465|        (void) xspan_mem_size<T>((size_t) n);
  144|      0|    else
  145|      0|        (void) xspan_mem_size<T>((size_t) -n);
  146|    465|}
pefile.cpp:_ZN5XSpanL14xspan_mem_sizeI4LE64EEmm:
  136|    465|static inline size_t xspan_mem_size(size_t n) {
  137|    465|    return xspan_mem_size_impl<typename TypeForSizeOf<T>::type>(n);
  138|    465|}
pefile.cpp:_ZN5XSpanL19xspan_mem_size_implI4LE64EEmm:
  125|    465|static inline size_t xspan_mem_size_impl(size_t n) {
  126|    465|#ifdef UPX_VERSION_HEX
  127|       |    // check for overflow and sane limits
  128|    465|    return mem_size(sizeof(T), n);
  129|       |#else
  130|       |    return sizeof(T) * n;
  131|       |#endif
  132|    465|}

_ZN5XSpan15PtrOrSpanOrNullIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   223k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   223k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   223k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   223k|        assertInvariants();
  146|   223k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE7makePtrEPi:
   84|   223k|    static inline pointer makePtr(pointer p) {
   85|   223k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   223k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   223k|        return p;
   88|   223k|    }
_ZN5XSpan15PtrOrSpanOrNullIiE8makeBaseEPi:
   89|   223k|    static inline pointer makeBase(pointer b) {
   90|   223k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   223k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   223k|        return b;
   93|   223k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE16assertInvariantsEv:
   75|   492k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiEeqEPi:
  394|   119k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIiED2Ev:
  116|   343k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE9ensurePtrEv:
   95|  59.6k|    inline pointer ensurePtr() const {
   96|  59.6k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 59.6k]
  |  |  |  Branch (1558:47): [True: 59.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 59.6k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  59.6k|        return ptr;
   99|  59.6k|    }
_ZNK5XSpan9PtrOrSpanIiE16assertInvariantsEv:
   75|   447k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIiEeqEPi:
  394|   119k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIiED2Ev:
  116|   283k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIiE10ensureBaseEv:
  100|  29.8k|    inline pointer ensureBase() const {
  101|  29.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  29.8k|        return base;
  104|  29.8k|    }
_ZNK5XSpan4SpanIiE16assertInvariantsEv:
   75|   447k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIiEeqEPi:
  394|   119k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIiED2Ev:
  116|   283k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   223k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   223k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   223k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   223k|        assertInvariants();
  146|   223k|    }
_ZN5XSpan9PtrOrSpanIiE7makePtrEPi:
   84|   223k|    static inline pointer makePtr(pointer p) {
   85|   223k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   447k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 223k]
  |  |  |  Branch (1558:47): [True: 223k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 223k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   223k|        return p;
   88|   223k|    }
_ZN5XSpan9PtrOrSpanIiE8makeBaseEPi:
   89|   223k|    static inline pointer makeBase(pointer b) {
   90|   223k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   223k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [Folded, False: 223k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   223k|        return b;
   93|   223k|    }
_ZNK5XSpan9PtrOrSpanIiE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIiE10ensureBaseEv:
  100|  29.8k|    inline pointer ensureBase() const {
  101|  29.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  29.8k|        return base;
  104|  29.8k|    }
_ZN5XSpan4SpanIiEC2ERKNS_14XSpanDebugFileEPiNS_16XSpanSizeInBytesE:
  143|   223k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|   223k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|   223k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|   223k|        assertInvariants();
  146|   223k|    }
_ZN5XSpan4SpanIiE7makePtrEPi:
   84|   223k|    static inline pointer makePtr(pointer p) {
   85|   223k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   447k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 223k]
  |  |  |  Branch (1558:47): [True: 223k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 223k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   223k|        return p;
   88|   223k|    }
_ZN5XSpan4SpanIiE8makeBaseEPi:
   89|   223k|    static inline pointer makeBase(pointer b) {
   90|   223k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   447k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 223k]
  |  |  |  Branch (1558:47): [True: 223k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 223k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   223k|        return b;
   93|   223k|    }
_ZNK5XSpan4SpanIiE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castI4LE32EENS0_IT_EEv:
  383|  29.8k|    CSelf<U> type_cast() const {
  384|  29.8k|        typedef CSelf<U> R;
  385|  29.8k|        typedef typename R::pointer rpointer;
  386|  29.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  29.8k|                upx::ptr_static_cast<rpointer>(base));
  388|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  29.8k|        r.f = f;
  390|  29.8k|#endif
  391|  29.8k|        return r;
  392|  29.8k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE32E16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullI4LE32EeqEPS1_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullI4LE32ED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castI4LE32EENS0_IT_EEv:
  383|  29.8k|    CSelf<U> type_cast() const {
  384|  29.8k|        typedef CSelf<U> R;
  385|  29.8k|        typedef typename R::pointer rpointer;
  386|  29.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  29.8k|                upx::ptr_static_cast<rpointer>(base));
  388|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  29.8k|        r.f = f;
  390|  29.8k|#endif
  391|  29.8k|        return r;
  392|  29.8k|    }
_ZN5XSpan9PtrOrSpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan9PtrOrSpanI4LE32E16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanI4LE32EeqEPS1_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanI4LE32ED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castI4LE32EENS0_IT_EEv:
  383|  29.8k|    CSelf<U> type_cast() const {
  384|  29.8k|        typedef CSelf<U> R;
  385|  29.8k|        typedef typename R::pointer rpointer;
  386|  29.8k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  29.8k|                upx::ptr_static_cast<rpointer>(base));
  388|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  29.8k|        r.f = f;
  390|  29.8k|#endif
  391|  29.8k|        return r;
  392|  29.8k|    }
_ZN5XSpan4SpanI4LE32EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan4SpanI4LE32E16assertInvariantsEv:
   75|   227k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE32EeqEPS1_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanI4LE32ED2Ev:
  116|  89.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIiE10invalidateEv:
  118|  29.8k|    noinline void invalidate() {
  119|  29.8k|        assertInvariants();
  120|  29.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  29.8k|        base = ptr;                     // point to non-null invalid address
  122|  29.8k|        size_in_bytes = 0;
  123|  29.8k|        assertInvariants();
  124|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiEneEPi:
  400|  44.7k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan9PtrOrSpanIiE10invalidateEv:
  118|  29.8k|    noinline void invalidate() {
  119|  29.8k|        assertInvariants();
  120|  29.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  29.8k|        base = ptr;                     // point to non-null invalid address
  122|  29.8k|        size_in_bytes = 0;
  123|  29.8k|        assertInvariants();
  124|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIiEneEPi:
  400|  29.8k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan4SpanIiE10invalidateEv:
  118|  29.8k|    noinline void invalidate() {
  119|  29.8k|        assertInvariants();
  120|  29.8k|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|  29.8k|        base = ptr;                     // point to non-null invalid address
  122|  29.8k|        size_in_bytes = 0;
  123|  29.8k|        assertInvariants();
  124|  29.8k|    }
_ZNK5XSpan4SpanIiEneEPi:
  400|  29.8k|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZNK5XSpan15PtrOrSpanOrNullIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  44.7k|    operator-(const CSelf<U> &other) const {
  355|  44.7k|        assertInvariants();
  356|  44.7k|        other.assertInvariants();
  357|  44.7k|        return check_ptrdiff(ptr, other.ptr);
  358|  44.7k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE13check_ptrdiffEPiS2_:
  542|  44.7k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  44.7k|        assertInvariants();
  544|  44.7k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  44.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 14.9k, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 14.9k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  44.7k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  44.7k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  44.7k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  74.5k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 44.7k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.8k, False: 14.9k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  44.7k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 29.8k, False: 14.9k]
  |  Branch (548:29): [True: 29.8k, False: 0]
  ------------------
  549|  29.8k|            (void) ptr_diff_bytes(a, b);
  550|  44.7k|        return a - b;
  551|  44.7k|    }
_ZNK5XSpan9PtrOrSpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  29.8k|    operator-(const CSelf<U> &other) const {
  355|  29.8k|        assertInvariants();
  356|  29.8k|        other.assertInvariants();
  357|  29.8k|        return check_ptrdiff(ptr, other.ptr);
  358|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIiE13check_ptrdiffEPiS2_:
  542|  29.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  29.8k|        assertInvariants();
  544|  29.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  29.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  29.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 29.8k, False: 0]
  |  Branch (548:29): [True: 29.8k, False: 0]
  ------------------
  549|  29.8k|            (void) ptr_diff_bytes(a, b);
  550|  29.8k|        return a - b;
  551|  29.8k|    }
_ZNK5XSpan4SpanIiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_iEE5valueElE4typeERKNS0_IS5_EE:
  354|  29.8k|    operator-(const CSelf<U> &other) const {
  355|  29.8k|        assertInvariants();
  356|  29.8k|        other.assertInvariants();
  357|  29.8k|        return check_ptrdiff(ptr, other.ptr);
  358|  29.8k|    }
_ZNK5XSpan4SpanIiE13check_ptrdiffEPiS2_:
  542|  29.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  29.8k|        assertInvariants();
  544|  29.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  29.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  29.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 29.8k, False: 0]
  |  Branch (548:29): [True: 29.8k, False: 0]
  ------------------
  549|  29.8k|            (void) ptr_diff_bytes(a, b);
  550|  29.8k|        return a - b;
  551|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIiEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  354|  14.9k|    operator-(const CSelf<U> &other) const {
  355|  14.9k|        assertInvariants();
  356|  14.9k|        other.assertInvariants();
  357|  14.9k|        return check_ptrdiff(ptr, other.ptr);
  358|  14.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKiE16assertInvariantsEv:
   75|  89.4k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiE13check_ptrdiffEPS1_S3_:
  542|  29.8k|    ptrdiff_t check_ptrdiff(pointer a, pointer b) const may_throw {
  543|  29.8k|        assertInvariants();
  544|  29.8k|        if very_unlikely (a == nullptr && b != nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 29.8k, False: 0]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  545|      0|            xspan_fail_nullptr();
  546|  29.8k|        if very_unlikely (a != nullptr && b == nullptr)
  ------------------
  |  |  245|  29.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  29.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  29.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 29.8k]
  |  |  |  |  |  |  |  Branch (2017:54): [True: 0, False: 0]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  547|      0|            xspan_fail_nullptr();
  548|  29.8k|        if (a != nullptr && b != nullptr)
  ------------------
  |  Branch (548:13): [True: 0, False: 29.8k]
  |  Branch (548:29): [True: 0, False: 0]
  ------------------
  549|      0|            (void) ptr_diff_bytes(a, b);
  550|  29.8k|        return a - b;
  551|  29.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKiED2Ev:
  116|  44.7k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKiEmiIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueElE4typeERKNS0_IS6_EE:
  354|  14.9k|    operator-(const CSelf<U> &other) const {
  355|  14.9k|        assertInvariants();
  356|  14.9k|        other.assertInvariants();
  357|  14.9k|        return check_ptrdiff(ptr, other.ptr);
  358|  14.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32E16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIK4LE32EeqEPS2_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIK4LE32ED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZN5XSpan9PtrOrSpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIK4LE32E16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIK4LE32EeqEPS2_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIK4LE32ED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIiE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZN5XSpan4SpanIK4LE32EC2ENS3_13ModeUncheckedEPS2_mS5_:
  265|  29.8k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  29.8k|        assertInvariants();
  267|  29.8k|    }
_ZNK5XSpan4SpanIK4LE32E16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIK4LE32EeqEPS2_:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIK4LE32ED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  74.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  74.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  74.5k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  74.5k|        assertInvariants();
  146|  74.5k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE7makePtrEPS1_:
   84|  74.5k|    static inline pointer makePtr(pointer p) {
   85|  74.5k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  74.5k|        return p;
   88|  74.5k|    }
_ZN5XSpan15PtrOrSpanOrNullIKhE8makeBaseEPS1_:
   89|  74.5k|    static inline pointer makeBase(pointer b) {
   90|  74.5k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  74.5k|        return b;
   93|  74.5k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE16assertInvariantsEv:
   75|   104k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhEeqEPS1_:
  394|  59.6k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan15PtrOrSpanOrNullIKhED2Ev:
  116|   104k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIKhE16assertInvariantsEv:
   75|   351k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIKhEeqEPS1_:
  394|  59.6k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan9PtrOrSpanIKhED2Ev:
  116|   209k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKhE10ensureBaseEv:
  100|  14.9k|    inline pointer ensureBase() const {
  101|  14.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 14.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.9k|        return base;
  104|  14.9k|    }
_ZNK5XSpan4SpanIKhE16assertInvariantsEv:
   75|  2.55M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKhEeqEPS1_:
  394|  59.6k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZN5XSpan4SpanIKhED2Ev:
  116|   839k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  74.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  74.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  74.5k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  74.5k|        assertInvariants();
  146|  74.5k|    }
_ZN5XSpan9PtrOrSpanIKhE7makePtrEPS1_:
   84|  96.9k|    static inline pointer makePtr(pointer p) {
   85|  96.9k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   193k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 96.9k]
  |  |  |  Branch (1558:47): [True: 96.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 96.9k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  96.9k|        return p;
   88|  96.9k|    }
_ZN5XSpan9PtrOrSpanIKhE8makeBaseEPS1_:
   89|  77.5k|    static inline pointer makeBase(pointer b) {
   90|  77.5k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  77.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 77.5k]
  |  |  |  Branch (1558:47): [Folded, False: 77.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  77.5k|        return b;
   93|  77.5k|    }
_ZNK5XSpan9PtrOrSpanIKhE9ensurePtrEv:
   95|  37.2k|    inline pointer ensurePtr() const {
   96|  37.2k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  37.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 37.2k]
  |  |  |  Branch (1558:47): [Folded, False: 37.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  37.2k|        return ptr;
   99|  37.2k|    }
_ZNK5XSpan9PtrOrSpanIKhE10ensureBaseEv:
  100|  14.9k|    inline pointer ensureBase() const {
  101|  14.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 14.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 14.9k]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.9k|        return base;
  104|  14.9k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|  74.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  74.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|  74.5k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|  74.5k|        assertInvariants();
  146|  74.5k|    }
_ZN5XSpan4SpanIKhE7makePtrEPS1_:
   84|   112k|    static inline pointer makePtr(pointer p) {
   85|   112k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   224k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 112k]
  |  |  |  Branch (1558:47): [True: 112k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 112k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   112k|        return p;
   88|   112k|    }
_ZN5XSpan4SpanIKhE8makeBaseEPS1_:
   89|   112k|    static inline pointer makeBase(pointer b) {
   90|   112k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   224k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 112k]
  |  |  |  Branch (1558:47): [True: 112k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 112k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|   112k|        return b;
   93|   112k|    }
_ZNK5XSpan4SpanIKhE9ensurePtrEv:
   95|   602k|    inline pointer ensurePtr() const {
   96|   602k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   602k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 602k]
  |  |  |  Branch (1558:47): [Folded, False: 602k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   602k|        return ptr;
   99|   602k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZNK5XSpan9PtrOrSpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZNK5XSpan4SpanIKhE9type_castIK4LE32EENS0_IT_EEv:
  383|  14.9k|    CSelf<U> type_cast() const {
  384|  14.9k|        typedef CSelf<U> R;
  385|  14.9k|        typedef typename R::pointer rpointer;
  386|  14.9k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  14.9k|                upx::ptr_static_cast<rpointer>(base));
  388|  14.9k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  14.9k|        r.f = f;
  390|  14.9k|#endif
  391|  14.9k|        return r;
  392|  14.9k|    }
_ZNK5XSpan4SpanI4LE32E9ensurePtrEv:
   95|  59.8k|    inline pointer ensurePtr() const {
   96|  59.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  59.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  59.8k|        return ptr;
   99|  59.8k|    }
_ZNK5XSpan4SpanI4LE32E10ensureBaseEv:
  100|  59.8k|    inline pointer ensureBase() const {
  101|  59.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  59.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  59.8k|        return base;
  104|  59.8k|    }
_ZNK5XSpan4SpanIKhE10ensureBaseEv:
  100|   587k|    inline pointer ensureBase() const {
  101|   587k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|   587k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 587k]
  |  |  |  Branch (1558:47): [Folded, False: 587k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|   587k|        return base;
  104|   587k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE16assertInvariantsEv:
   75|  2.66M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcE7makePtrEPc:
   84|   119k|    static inline pointer makePtr(pointer p) {
   85|   119k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   119k|        return p;
   88|   119k|    }
_ZNK5XSpan9PtrOrSpanIcE16assertInvariantsEv:
   75|  2.61M|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  74.5k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  74.5k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  74.5k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  74.5k|        assertInvariants();
  158|  74.5k|    }
_ZN5XSpan4SpanIcE7makePtrEPc:
   84|  89.4k|    static inline pointer makePtr(pointer p) {
   85|  89.4k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 89.4k]
  |  |  |  Branch (1558:47): [True: 89.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 89.4k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  89.4k|        return p;
   88|  89.4k|    }
_ZN5XSpan4SpanIcE8makeBaseEPc:
   89|  89.4k|    static inline pointer makeBase(pointer b) {
   90|  89.4k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 89.4k]
  |  |  |  Branch (1558:47): [True: 89.4k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 89.4k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  89.4k|        return b;
   93|  89.4k|    }
_ZNK5XSpan4SpanIcE16assertInvariantsEv:
   75|  2.61M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKcE16assertInvariantsEv:
   75|  89.4k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKcE7makePtrEPS1_:
   84|  29.8k|    static inline pointer makePtr(pointer p) {
   85|  29.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  29.8k|        return p;
   88|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIKcE16assertInvariantsEv:
   75|  59.6k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  29.8k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  29.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  29.8k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  29.8k|        assertInvariants();
  158|  29.8k|    }
_ZN5XSpan4SpanIKcE7makePtrEPS1_:
   84|  29.8k|    static inline pointer makePtr(pointer p) {
   85|  29.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  29.8k|        return p;
   88|  29.8k|    }
_ZN5XSpan4SpanIKcE8makeBaseEPS1_:
   89|  29.8k|    static inline pointer makeBase(pointer b) {
   90|  29.8k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  29.8k|        return b;
   93|  29.8k|    }
_ZNK5XSpan4SpanIKcE16assertInvariantsEv:
   75|  29.8k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIKcE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqEPc:
  394|  29.8k|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  414|  29.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  29.8k|        return ptr == other.ptr;
  416|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  409|  29.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  29.8k|        return ptr == other.ptr;
  411|  29.8k|    }
_ZNK5XSpan4SpanIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  409|  29.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  29.8k|        return ptr == other.ptr;
  411|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS0_IS6_EE:
  414|  29.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  29.8k|        return ptr == other.ptr;
  416|  29.8k|    }
_ZNK5XSpan9PtrOrSpanIKcEeqIS1_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_S1_EE5valueEbE4typeERKNS_15PtrOrSpanOrNullIS6_EE:
  414|  29.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  29.8k|        return ptr == other.ptr;
  416|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9raw_bytesEm:
  562|   238k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   238k|        assertInvariants();
  564|   238k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 89.4k, False: 149k]
  ------------------
  565|  89.4k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   178k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.8k, False: 59.6k]
  |  |  |  Branch (1558:47): [True: 89.4k, Folded]
  |  |  |  Branch (1558:47): [True: 29.8k, False: 59.6k]
  |  |  ------------------
  ------------------
  566|  29.8k|                xspan_fail_nullptr();
  567|  59.6k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.8k, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.6k]
  |  |  |  Branch (1558:47): [True: 29.8k, False: 29.8k]
  |  |  ------------------
  ------------------
  568|  29.8k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  59.6k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  59.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  59.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 59.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  59.6k|        }
  572|   208k|        return ptr;
  573|   238k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE7raw_ptrEv:
  558|  59.6k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIcE9raw_bytesEm:
  562|   178k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   178k|        assertInvariants();
  564|   178k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 59.6k, False: 119k]
  ------------------
  565|  59.6k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 59.6k]
  |  |  |  Branch (1558:47): [Folded, False: 59.6k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  59.6k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.8k, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.6k]
  |  |  |  Branch (1558:47): [True: 29.8k, False: 29.8k]
  |  |  ------------------
  ------------------
  568|  29.8k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  59.6k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  59.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  59.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  59.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 59.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  59.6k|        }
  572|   178k|        return ptr;
  573|   178k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE17raw_size_in_bytesEv:
  560|  29.8k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIcE17raw_size_in_bytesEv:
  560|  29.8k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan4SpanIcE9raw_bytesEm:
  562|   208k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   208k|        assertInvariants();
  564|   208k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 119k, False: 89.4k]
  ------------------
  565|   119k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   119k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   119k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   119k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   119k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   119k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   119k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 119k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   119k|        }
  572|   208k|        return ptr;
  573|   208k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEplEl:
  496|   551k|    Self operator+(ptrdiff_t n) const {
  497|   551k|        pointer first = check_add(ptr, n);
  498|   551k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   551k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   551k|        r.f = f;
  501|   551k|#endif
  502|   551k|        return r;
  503|   551k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9check_addEPcl:
  532|  1.02M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  1.02M|        assertInvariants();
  534|  1.02M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  2.05M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.02M]
  |  |  |  Branch (1558:47): [True: 1.02M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.02M]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  1.02M|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  1.02M|        p += n;
  538|  1.02M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.05M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.01M, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [True: 1.01M, False: 14.9k]
  |  |  ------------------
  ------------------
  539|  1.01M|            xspan_check_range(p, base, size_in_bytes);
  540|  1.02M|        return p;
  541|  1.02M|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   551k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   551k|        assertInvariants();
  267|   551k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9type_castItEENS0_IT_EEv:
  383|  59.6k|    CSelf<U> type_cast() const {
  384|  59.6k|        typedef CSelf<U> R;
  385|  59.6k|        typedef typename R::pointer rpointer;
  386|  59.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  59.6k|                upx::ptr_static_cast<rpointer>(base));
  388|  59.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  59.6k|        r.f = f;
  390|  59.6k|#endif
  391|  59.6k|        return r;
  392|  59.6k|    }
_ZN5XSpan15PtrOrSpanOrNullItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  89.4k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  89.4k|        assertInvariants();
  267|  89.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE16assertInvariantsEv:
   75|   238k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcED2Ev:
  116|   745k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanIcEplEl:
  496|   551k|    Self operator+(ptrdiff_t n) const {
  497|   551k|        pointer first = check_add(ptr, n);
  498|   551k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   551k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   551k|        r.f = f;
  501|   551k|#endif
  502|   551k|        return r;
  503|   551k|    }
_ZNK5XSpan9PtrOrSpanIcE9check_addEPcl:
  532|  1.02M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  1.02M|        assertInvariants();
  534|  1.02M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  1.02M|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  1.02M|        p += n;
  538|  1.02M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  2.05M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.01M, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [True: 1.01M, False: 14.9k]
  |  |  ------------------
  ------------------
  539|  1.01M|            xspan_check_range(p, base, size_in_bytes);
  540|  1.02M|        return p;
  541|  1.02M|    }
_ZN5XSpan9PtrOrSpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   551k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   551k|        assertInvariants();
  267|   551k|    }
_ZNK5XSpan9PtrOrSpanIcE9type_castItEENS0_IT_EEv:
  383|  59.6k|    CSelf<U> type_cast() const {
  384|  59.6k|        typedef CSelf<U> R;
  385|  59.6k|        typedef typename R::pointer rpointer;
  386|  59.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  59.6k|                upx::ptr_static_cast<rpointer>(base));
  388|  59.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  59.6k|        r.f = f;
  390|  59.6k|#endif
  391|  59.6k|        return r;
  392|  59.6k|    }
_ZN5XSpan9PtrOrSpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  89.4k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  89.4k|        assertInvariants();
  267|  89.4k|    }
_ZNK5XSpan9PtrOrSpanItE16assertInvariantsEv:
   75|   238k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIcED2Ev:
  116|   686k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanIcEplEl:
  496|   551k|    Self operator+(ptrdiff_t n) const {
  497|   551k|        pointer first = check_add(ptr, n);
  498|   551k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   551k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   551k|        r.f = f;
  501|   551k|#endif
  502|   551k|        return r;
  503|   551k|    }
_ZNK5XSpan4SpanIcE9check_addEPcl:
  532|  1.02M|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  1.02M|        assertInvariants();
  534|  1.02M|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [Folded, False: 1.02M]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  1.02M|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  1.02M|        p += n;
  538|  1.02M|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.02M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.02M, Folded]
  |  |  |  Branch (1558:47): [True: 1.02M, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  1.02M|            xspan_check_range(p, base, size_in_bytes);
  540|  1.02M|        return p;
  541|  1.02M|    }
_ZN5XSpan4SpanIcEC2ENS1_13ModeUncheckedEPcmS3_:
  265|   551k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   551k|        assertInvariants();
  267|   551k|    }
_ZNK5XSpan4SpanIcE9type_castItEENS0_IT_EEv:
  383|  59.6k|    CSelf<U> type_cast() const {
  384|  59.6k|        typedef CSelf<U> R;
  385|  59.6k|        typedef typename R::pointer rpointer;
  386|  59.6k|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|  59.6k|                upx::ptr_static_cast<rpointer>(base));
  388|  59.6k|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|  59.6k|        r.f = f;
  390|  59.6k|#endif
  391|  59.6k|        return r;
  392|  59.6k|    }
_ZN5XSpan4SpanItEC2ENS1_13ModeUncheckedEPtmS3_:
  265|  89.4k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|  89.4k|        assertInvariants();
  267|  89.4k|    }
_ZNK5XSpan4SpanItE16assertInvariantsEv:
   75|   238k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIcED2Ev:
  116|   656k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItE9raw_bytesEm:
  562|  89.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  89.4k|        assertInvariants();
  564|  89.4k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 89.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|  89.4k|        return ptr;
  573|  89.4k|    }
_ZNK5XSpan9PtrOrSpanItE9raw_bytesEm:
  562|  89.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  89.4k|        assertInvariants();
  564|  89.4k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 89.4k]
  ------------------
  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|  89.4k|        return ptr;
  573|  89.4k|    }
_ZNK5XSpan4SpanItE9raw_bytesEm:
  562|  89.4k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  89.4k|        assertInvariants();
  564|  89.4k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 89.4k]
  ------------------
  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|  89.4k|        return ptr;
  573|  89.4k|    }
_ZNK5XSpan15PtrOrSpanOrNullItEplEl:
  496|  29.8k|    Self operator+(ptrdiff_t n) const {
  497|  29.8k|        pointer first = check_add(ptr, n);
  498|  29.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  29.8k|        r.f = f;
  501|  29.8k|#endif
  502|  29.8k|        return r;
  503|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullItE9check_addEPtl:
  532|  29.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  29.8k|        assertInvariants();
  534|  29.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 29.8k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  29.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  29.8k|        p += n;
  538|  29.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.9k, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 14.9k, False: 14.9k]
  |  |  ------------------
  ------------------
  539|  14.9k|            xspan_check_range(p, base, size_in_bytes);
  540|  29.8k|        return p;
  541|  29.8k|    }
_ZN5XSpan15PtrOrSpanOrNullItED2Ev:
  116|   119k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan9PtrOrSpanItEplEl:
  496|  29.8k|    Self operator+(ptrdiff_t n) const {
  497|  29.8k|        pointer first = check_add(ptr, n);
  498|  29.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  29.8k|        r.f = f;
  501|  29.8k|#endif
  502|  29.8k|        return r;
  503|  29.8k|    }
_ZNK5XSpan9PtrOrSpanItE9check_addEPtl:
  532|  29.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  29.8k|        assertInvariants();
  534|  29.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  29.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  29.8k|        p += n;
  538|  29.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  59.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.9k, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 14.9k, False: 14.9k]
  |  |  ------------------
  ------------------
  539|  14.9k|            xspan_check_range(p, base, size_in_bytes);
  540|  29.8k|        return p;
  541|  29.8k|    }
_ZN5XSpan9PtrOrSpanItED2Ev:
  116|   119k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan4SpanItEplEl:
  496|  29.8k|    Self operator+(ptrdiff_t n) const {
  497|  29.8k|        pointer first = check_add(ptr, n);
  498|  29.8k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|  29.8k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|  29.8k|        r.f = f;
  501|  29.8k|#endif
  502|  29.8k|        return r;
  503|  29.8k|    }
_ZNK5XSpan4SpanItE9check_addEPtl:
  532|  29.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  29.8k|        assertInvariants();
  534|  29.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  29.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  29.8k|        p += n;
  538|  29.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 29.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  29.8k|            xspan_check_range(p, base, size_in_bytes);
  540|  29.8k|        return p;
  541|  29.8k|    }
_ZN5XSpan4SpanItED2Ev:
  116|   119k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  414|  29.8k|    operator==(const PtrOrSpanOrNull<U> &other) const noexcept {
  415|  29.8k|        return ptr == other.ptr;
  416|  29.8k|    }
_ZNK5XSpan9PtrOrSpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  409|  29.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  29.8k|        return ptr == other.ptr;
  411|  29.8k|    }
_ZNK5XSpan4SpanItEeqItEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_tEE5valueEbE4typeERKNS0_IS5_EE:
  419|  29.8k|    operator==(const Span<U> &other) const noexcept {
  420|  29.8k|        return ptr == other.ptr;
  421|  29.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcED2Ev:
  116|  89.4k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKcED2Ev:
  116|  59.6k|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanIKcED2Ev:
  116|  29.8k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  59.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  59.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  59.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  59.6k|        assertInvariants();
  158|  59.6k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE7makePtrEPc:
   84|  74.5k|    static inline pointer makePtr(pointer p) {
   85|  74.5k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  74.5k|        return p;
   88|  74.5k|    }
_ZN5XSpan15PtrOrSpanOrNullIcE8makeBaseEPc:
   89|  74.5k|    static inline pointer makeBase(pointer b) {
   90|  74.5k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  74.5k|        return b;
   93|  74.5k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  59.6k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  59.6k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  59.6k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  59.6k|        assertInvariants();
  158|  59.6k|    }
_ZN5XSpan9PtrOrSpanIcE8makeBaseEPc:
   89|  74.5k|    static inline pointer makeBase(pointer b) {
   90|  74.5k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [Folded, False: 74.5k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  74.5k|        return b;
   93|  74.5k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  89.4k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  ------------------
  ------------------
  216|  14.9k|                      (configRequireBase || base != nullptr))
  217|  14.9k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.9k|        assertInvariants();
  220|  14.9k|    }
_ZN5XSpan9PtrOrSpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  74.5k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.9k, False: 0]
  |  |  |  Branch (1558:47): [True: 14.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 14.9k, False: 0]
  |  |  ------------------
  ------------------
  216|  14.9k|                      (configRequireBase || base != nullptr))
  217|  14.9k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.9k|        assertInvariants();
  220|  14.9k|    }
_ZN5XSpan4SpanIcEC2IcEERKNS_14XSpanDebugFileEPcmPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_cEE5valueeqL_ZNS_14ValueForSizeOfIcE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|  14.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  14.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|  14.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|  14.9k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 14.9k, Folded]
  |  |  |  Branch (1558:47): [True: 14.9k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  216|  14.9k|                      (configRequireBase || base != nullptr))
  217|  14.9k|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|  14.9k|        assertInvariants();
  220|  14.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  14.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  14.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  14.9k|        assertInvariants();
  158|  14.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE7makePtrEPS1_:
   84|  14.9k|    static inline pointer makePtr(pointer p) {
   85|  14.9k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  14.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  14.9k|        return p;
   88|  14.9k|    }
_ZN5XSpan15PtrOrSpanOrNullIKcE8makeBaseEPS1_:
   89|  14.9k|    static inline pointer makeBase(pointer b) {
   90|  14.9k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  14.9k|        return b;
   93|  14.9k|    }
_ZN5XSpan9PtrOrSpanIKcEC2IcEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  14.9k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  14.9k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  14.9k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  14.9k|        assertInvariants();
  158|  14.9k|    }
_ZN5XSpan9PtrOrSpanIKcE8makeBaseEPS1_:
   89|  14.9k|    static inline pointer makeBase(pointer b) {
   90|  14.9k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  14.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  14.9k|        return b;
   93|  14.9k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_9PtrOrSpanIS5_EE:
  409|  29.8k|    operator==(const PtrOrSpan<U> &other) const noexcept {
  410|  29.8k|        return ptr == other.ptr;
  411|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEeqIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS_4SpanIS5_EE:
  419|  14.9k|    operator==(const Span<U> &other) const noexcept {
  420|  14.9k|        return ptr == other.ptr;
  421|  14.9k|    }
_ZNK5XSpan9PtrOrSpanItE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan4SpanItE9ensurePtrEv:
   95|  29.8k|    inline pointer ensurePtr() const {
   96|  29.8k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  29.8k|        return ptr;
   99|  29.8k|    }
_ZNK5XSpan4SpanItE10ensureBaseEv:
  100|  29.8k|    inline pointer ensureBase() const {
  101|  29.8k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  29.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [Folded, False: 29.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  29.8k|        return base;
  104|  29.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEixEl:
  463|   238k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPcl:
  522|   238k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   238k|        assertInvariants();
  524|   238k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 238k]
  |  |  |  Branch (1558:47): [True: 238k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 238k]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   238k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   238k|        p += n;
  528|   238k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 238k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [True: 238k, False: 0]
  |  |  ------------------
  ------------------
  529|   238k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   238k|        return p;
  531|   238k|    }
_ZNK5XSpan9PtrOrSpanIcEixEl:
  463|   238k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPcl:
  522|   238k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   238k|        assertInvariants();
  524|   238k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   238k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   238k|        p += n;
  528|   238k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 238k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [True: 238k, False: 0]
  |  |  ------------------
  ------------------
  529|   238k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   238k|        return p;
  531|   238k|    }
_ZNK5XSpan4SpanIcEixEl:
  463|   238k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIcE11check_derefEPcl:
  522|   238k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   238k|        assertInvariants();
  524|   238k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [Folded, False: 238k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   238k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   238k|        p += n;
  528|   238k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   238k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 238k, Folded]
  |  |  |  Branch (1558:47): [True: 238k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|   238k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   238k|        return p;
  531|   238k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  430|   253k|    operator!=(const PtrOrSpanOrNull<U> &other) const noexcept {
  431|   253k|        return ptr != other.ptr;
  432|   253k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEdeEv:
  460|   477k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIcE11check_derefEPc:
  514|   477k|    pointer check_deref(pointer p) const may_throw {
  515|   477k|        assertInvariants();
  516|   477k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   954k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 477k]
  |  |  |  Branch (1558:47): [True: 477k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 477k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   477k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   954k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 477k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [True: 477k, False: 0]
  |  |  ------------------
  ------------------
  519|   477k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   477k|        return p;
  521|   477k|    }
_ZN5XSpan15PtrOrSpanOrNullIcEppEv:
  468|   477k|    Self &operator++() {
  469|   477k|        ptr = check_add(ptr, 1);
  470|   477k|        return *this;
  471|   477k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  450|   253k|    operator<(const PtrOrSpanOrNull<U> &other) const {
  451|   253k|        return ensurePtr() < other.ensurePtr();
  452|   253k|    }
_ZNK5XSpan15PtrOrSpanOrNullIcE9ensurePtrEv:
   95|   507k|    inline pointer ensurePtr() const {
   96|   507k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  1.01M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 507k]
  |  |  |  Branch (1558:47): [True: 507k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 507k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   507k|        return ptr;
   99|   507k|    }
_ZNK5XSpan9PtrOrSpanIcE9ensurePtrEv:
   95|   522k|    inline pointer ensurePtr() const {
   96|   522k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   522k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 522k]
  |  |  |  Branch (1558:47): [Folded, False: 522k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   522k|        return ptr;
   99|   522k|    }
_ZNK5XSpan9PtrOrSpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  425|   253k|    operator!=(const PtrOrSpan<U> &other) const noexcept {
  426|   253k|        return ptr != other.ptr;
  427|   253k|    }
_ZNK5XSpan9PtrOrSpanIcEdeEv:
  460|   477k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan9PtrOrSpanIcE11check_derefEPc:
  514|   477k|    pointer check_deref(pointer p) const may_throw {
  515|   477k|        assertInvariants();
  516|   477k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   477k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   954k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 477k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [True: 477k, False: 0]
  |  |  ------------------
  ------------------
  519|   477k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   477k|        return p;
  521|   477k|    }
_ZN5XSpan9PtrOrSpanIcEppEv:
  468|   477k|    Self &operator++() {
  469|   477k|        ptr = check_add(ptr, 1);
  470|   477k|        return *this;
  471|   477k|    }
_ZNK5XSpan9PtrOrSpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  445|   253k|    operator<(const PtrOrSpan<U> &other) const {
  446|   253k|        return ensurePtr() < other.ensurePtr();
  447|   253k|    }
_ZNK5XSpan4SpanIcE9ensurePtrEv:
   95|   522k|    inline pointer ensurePtr() const {
   96|   522k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   522k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 522k]
  |  |  |  Branch (1558:47): [Folded, False: 522k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   522k|        return ptr;
   99|   522k|    }
_ZNK5XSpan4SpanIcE10ensureBaseEv:
  100|  14.9k|    inline pointer ensureBase() const {
  101|  14.9k|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  14.9k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 14.9k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|  14.9k|        return base;
  104|  14.9k|    }
_ZNK5XSpan4SpanIcEneIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  435|   253k|    operator!=(const Span<U> &other) const noexcept {
  436|   253k|        return ptr != other.ptr;
  437|   253k|    }
_ZNK5XSpan4SpanIcEdeEv:
  460|   477k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIcE11check_derefEPc:
  514|   477k|    pointer check_deref(pointer p) const may_throw {
  515|   477k|        assertInvariants();
  516|   477k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [Folded, False: 477k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   477k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   477k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 477k, Folded]
  |  |  |  Branch (1558:47): [True: 477k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|   477k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   477k|        return p;
  521|   477k|    }
_ZN5XSpan4SpanIcEppEv:
  468|   477k|    Self &operator++() {
  469|   477k|        ptr = check_add(ptr, 1);
  470|   477k|        return *this;
  471|   477k|    }
_ZNK5XSpan4SpanIcEltIcEENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIT_cEE5valueEbE4typeERKNS0_IS5_EE:
  455|   253k|    operator<(const Span<U> &other) const {
  456|   253k|        return ensurePtr() < other.ensurePtr();
  457|   253k|    }
_ZNK5XSpan9PtrOrSpanIvE7raw_ptrEv:
  558|   563k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan9PtrOrSpanIvE17raw_size_in_bytesEv:
  560|   563k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan9PtrOrSpanIvE8raw_baseEv:
  559|   563k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan9PtrOrSpanIvE9raw_bytesEm:
  562|   563k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   563k|        assertInvariants();
  564|   563k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 562k, False: 393]
  ------------------
  565|   562k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   562k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 562k]
  |  |  |  Branch (1558:47): [Folded, False: 562k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   562k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.12M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65.4k, False: 497k]
  |  |  |  Branch (1558:47): [Folded, False: 562k]
  |  |  |  Branch (1558:47): [True: 65.4k, False: 497k]
  |  |  ------------------
  ------------------
  568|  65.4k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   562k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   562k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   562k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   562k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 562k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   562k|        }
  572|   563k|        return ptr;
  573|   563k|    }
_ZNK5XSpan9PtrOrSpanIvE16assertInvariantsEv:
   75|  1.68M|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan9PtrOrSpanIvE9ensurePtrEv:
   95|   554k|    inline pointer ensurePtr() const {
   96|   554k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   554k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 554k]
  |  |  |  Branch (1558:47): [Folded, False: 554k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   554k|        return ptr;
   99|   554k|    }
_ZN5XSpan9PtrOrSpanIvED2Ev:
  116|  1.11M|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIKvE7raw_ptrEv:
  558|  22.6k|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE17raw_size_in_bytesEv:
  560|  22.6k|    size_type raw_size_in_bytes() const noexcept { return size_in_bytes; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE8raw_baseEv:
  559|  22.6k|    pointer raw_base() const noexcept { return base; }
_ZNK5XSpan15PtrOrSpanOrNullIKvE9raw_bytesEm:
  562|  22.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  22.6k|        assertInvariants();
  564|  22.6k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 22.6k, False: 0]
  ------------------
  565|  22.6k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  45.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 22.6k]
  |  |  |  Branch (1558:47): [True: 22.6k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 22.6k]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  22.6k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  45.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 18.0k, False: 4.61k]
  |  |  |  Branch (1558:47): [Folded, False: 22.6k]
  |  |  |  Branch (1558:47): [True: 18.0k, False: 4.61k]
  |  |  ------------------
  ------------------
  568|  18.0k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  22.6k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  22.6k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  22.6k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  22.6k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 22.6k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  22.6k|        }
  572|  22.6k|        return ptr;
  573|  22.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullIKvE16assertInvariantsEv:
   75|  45.2k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIKvED2Ev:
  116|  22.6k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9raw_bytesEm:
  562|  77.6k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  77.6k|        assertInvariants();
  564|  77.6k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 17.8k, False: 59.8k]
  ------------------
  565|  17.8k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  35.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 17.8k]
  |  |  |  Branch (1558:47): [True: 17.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 17.8k]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  17.8k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  35.6k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 2.89k, False: 14.9k]
  |  |  |  Branch (1558:47): [Folded, False: 17.8k]
  |  |  |  Branch (1558:47): [True: 2.89k, False: 14.9k]
  |  |  ------------------
  ------------------
  568|  2.89k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  17.8k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  17.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  17.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  17.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 17.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  17.8k|        }
  572|  77.6k|        return ptr;
  573|  77.6k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE16assertInvariantsEv:
   75|   335k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhED2Ev:
  116|   379k|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIvE7makePtrEPv:
   84|   562k|    static inline pointer makePtr(pointer p) {
   85|   562k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.12M|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 562k]
  |  |  |  Branch (1558:47): [True: 562k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 562k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|   562k|        return p;
   88|   562k|    }
_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|  60.1k|    static inline pointer makeNotNull(pointer p) {
   79|  60.1k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  60.1k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  60.1k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  60.1k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 60.1k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  60.1k|        return p;
   82|  60.1k|    }
_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|  60.2k|    static inline pointer makePtr(pointer p) {
   85|  60.2k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   120k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 60.2k]
  |  |  |  Branch (1558:47): [True: 60.2k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 60.2k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  60.2k|        return p;
   88|  60.2k|    }
_ZN5XSpan4SpanIhE8makeBaseEPh:
   89|  60.1k|    static inline pointer makeBase(pointer b) {
   90|  60.1k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|   120k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 60.1k]
  |  |  |  Branch (1558:47): [True: 60.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 60.1k]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  60.1k|        return b;
   93|  60.1k|    }
_ZNK5XSpan4SpanIhE16assertInvariantsEv:
   75|   584k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIhED2Ev:
  116|   195k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhE6assignERKS1_:
  304|    124|    Self &assign(const Self &other) {
  305|    124|        assertInvariants();
  306|    124|        other.assertInvariants();
  307|    124|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    248|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 124, False: 0]
  |  |  |  Branch (1558:47): [True: 124, Folded]
  |  |  |  Branch (1558:47): [True: 124, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|    124|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    744|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 124, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 124]
  |  |  |  Branch (1558:47): [True: 124, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 124]
  |  |  |  Branch (1558:47): [True: 124, False: 0]
  |  |  ------------------
  ------------------
  310|    124|                          (configRequireBase || other.base != nullptr))
  311|    124|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|    124|            ptr = other.ptr;
  314|    124|            base = other.base;
  315|    124|            size_in_bytes = other.size_in_bytes;
  316|    124|        } 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|    124|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|    124|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 124, False: 0]
  ------------------
  329|    124|            f = other.f;
  330|    124|#endif
  331|    124|        assertInvariants();
  332|    124|        return *this;
  333|    124|    }
_ZNK5XSpan15PtrOrSpanOrNullIhEplEl:
  496|   119k|    Self operator+(ptrdiff_t n) const {
  497|   119k|        pointer first = check_add(ptr, n);
  498|   119k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   119k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   119k|        r.f = f;
  501|   119k|#endif
  502|   119k|        return r;
  503|   119k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9check_addEPhl:
  532|   119k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   119k|        assertInvariants();
  534|   119k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   119k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   119k|        p += n;
  538|   119k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 119k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, False: 0]
  |  |  ------------------
  ------------------
  539|   119k|            xspan_check_range(p, base, size_in_bytes);
  540|   119k|        return p;
  541|   119k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|   119k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   119k|        assertInvariants();
  267|   119k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9ensurePtrEv:
   95|   119k|    inline pointer ensurePtr() const {
   96|   119k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 119k]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|   119k|        return ptr;
   99|   119k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2ER9MemBuffer:
  225|  17.8k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  17.8k|#define CSelf PtrOrSpanOrNull
  ------------------
  226|  17.8k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIKvE11makeNotNullEPS1_:
   78|  17.8k|    static inline pointer makeNotNull(pointer p) {
   79|  17.8k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  17.8k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  17.8k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  17.8k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 17.8k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  17.8k|        return p;
   82|  17.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  138|  17.8k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  17.8k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  17.8k|        assertInvariants();
  141|  17.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE7makePtrEPS1_:
   84|  17.8k|    static inline pointer makePtr(pointer p) {
   85|  17.8k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  17.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 17.8k]
  |  |  |  Branch (1558:47): [Folded, False: 17.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  17.8k|        return p;
   88|  17.8k|    }
_ZN5XSpan15PtrOrSpanOrNullIKvE8makeBaseEPS1_:
   89|  17.8k|    static inline pointer makeBase(pointer b) {
   90|  17.8k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  17.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 17.8k]
  |  |  |  Branch (1558:47): [Folded, False: 17.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  17.8k|        return b;
   93|  17.8k|    }
_ZN5XSpan9PtrOrSpanIvEC2ER9MemBuffer:
  225|  65.2k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  65.2k|#define CSelf PtrOrSpan
  ------------------
  226|  65.2k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIvE11makeNotNullEPv:
   78|  65.2k|    static inline pointer makeNotNull(pointer p) {
   79|  65.2k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  65.2k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  65.2k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  65.2k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 65.2k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  65.2k|        return p;
   82|  65.2k|    }
_ZN5XSpan9PtrOrSpanIvEC2EPvNS_16XSpanSizeInBytesE:
  138|  65.2k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  65.2k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  65.2k|        assertInvariants();
  141|  65.2k|    }
_ZN5XSpan9PtrOrSpanIvE8makeBaseEPv:
   89|  65.2k|    static inline pointer makeBase(pointer b) {
   90|  65.2k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  65.2k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 65.2k]
  |  |  |  Branch (1558:47): [Folded, False: 65.2k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  65.2k|        return b;
   93|  65.2k|    }
_ZN5XSpan9PtrOrSpanIhEC2ER9MemBuffer:
  225|  3.60k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  3.60k|#define CSelf PtrOrSpan
  ------------------
  226|  3.60k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIhE11makeNotNullEPh:
   78|  3.60k|    static inline pointer makeNotNull(pointer p) {
   79|  3.60k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  3.60k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  3.60k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  3.60k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 3.60k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  3.60k|        return p;
   82|  3.60k|    }
_ZN5XSpan9PtrOrSpanIhEC2EPhNS_16XSpanSizeInBytesE:
  138|  3.60k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  3.60k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  3.60k|        assertInvariants();
  141|  3.60k|    }
_ZN5XSpan9PtrOrSpanIhE7makePtrEPh:
   84|  22.3k|    static inline pointer makePtr(pointer p) {
   85|  22.3k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  44.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 22.3k]
  |  |  |  Branch (1558:47): [True: 22.3k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 22.3k]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  22.3k|        return p;
   88|  22.3k|    }
_ZN5XSpan9PtrOrSpanIhE8makeBaseEPh:
   89|  3.60k|    static inline pointer makeBase(pointer b) {
   90|  3.60k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  3.60k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 3.60k]
  |  |  |  Branch (1558:47): [Folded, False: 3.60k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  3.60k|        return b;
   93|  3.60k|    }
_ZNK5XSpan9PtrOrSpanIhE16assertInvariantsEv:
   75|   605k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIhED2Ev:
  116|   224k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ER9MemBuffer:
  225|  2.89k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  2.89k|#define CSelf PtrOrSpanOrNull
  ------------------
  226|  2.89k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhE11makeNotNullEPh:
   78|  2.95k|    static inline pointer makeNotNull(pointer p) {
   79|  2.95k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  2.95k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.95k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.95k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 2.95k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  2.95k|        return p;
   82|  2.95k|    }
_ZN5XSpan15PtrOrSpanOrNullIhEC2EPhNS_16XSpanSizeInBytesE:
  138|  2.89k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  2.89k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  2.89k|        assertInvariants();
  141|  2.89k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE7makePtrEPh:
   84|  2.95k|    static inline pointer makePtr(pointer p) {
   85|  2.95k|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  2.95k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 2.95k]
  |  |  |  Branch (1558:47): [Folded, False: 2.95k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|  2.95k|        return p;
   88|  2.95k|    }
_ZN5XSpan15PtrOrSpanOrNullIhE8makeBaseEPh:
   89|  2.95k|    static inline pointer makeBase(pointer b) {
   90|  2.95k|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|  2.95k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 2.95k]
  |  |  |  Branch (1558:47): [Folded, False: 2.95k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|  2.95k|        return b;
   93|  2.95k|    }
_ZN5XSpan9PtrOrSpanIKvEC2ER9MemBuffer:
  225|    182|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    182|#define CSelf PtrOrSpan
  ------------------
  226|    182|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKvE11makeNotNullEPS1_:
   78|    182|    static inline pointer makeNotNull(pointer p) {
   79|    182|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    182|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    182|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    182|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 182]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    182|        return p;
   82|    182|    }
_ZN5XSpan9PtrOrSpanIKvEC2EPS1_NS_16XSpanSizeInBytesE:
  138|    182|        : ptr(makePtr(first)), base(makeBase(first)),
  139|    182|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|    182|        assertInvariants();
  141|    182|    }
_ZN5XSpan9PtrOrSpanIKvE7makePtrEPS1_:
   84|    182|    static inline pointer makePtr(pointer p) {
   85|    182|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    364|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 182]
  |  |  |  Branch (1558:47): [True: 182, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 182]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    182|        return p;
   88|    182|    }
_ZN5XSpan9PtrOrSpanIKvE8makeBaseEPS1_:
   89|    182|    static inline pointer makeBase(pointer b) {
   90|    182|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    182|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 182]
  |  |  |  Branch (1558:47): [Folded, False: 182]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    182|        return b;
   93|    182|    }
_ZNK5XSpan9PtrOrSpanIKvE16assertInvariantsEv:
   75|    182|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan9PtrOrSpanIKvED2Ev:
  116|    182|forceinline ~CSelf() noexcept {}
_ZN5XSpan9PtrOrSpanIKhEC2ER9MemBuffer:
  225|  2.98k|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|  2.98k|#define CSelf PtrOrSpan
  ------------------
  226|  2.98k|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan9PtrOrSpanIKhE11makeNotNullEPS1_:
   78|  2.98k|    static inline pointer makeNotNull(pointer p) {
   79|  2.98k|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|  2.98k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  2.98k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  2.98k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 2.98k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|  2.98k|        return p;
   82|  2.98k|    }
_ZN5XSpan9PtrOrSpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  138|  2.98k|        : ptr(makePtr(first)), base(makeBase(first)),
  139|  2.98k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|  2.98k|        assertInvariants();
  141|  2.98k|    }
_ZNK5XSpan4SpanIhE9raw_bytesEm:
  562|   253k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   253k|        assertInvariants();
  564|   253k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 246k, False: 7.45k]
  ------------------
  565|   246k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   246k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 246k]
  |  |  |  Branch (1558:47): [Folded, False: 246k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   246k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   246k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 246k, Folded]
  |  |  |  Branch (1558:47): [True: 246k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   246k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   246k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   246k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   246k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   246k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 246k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   246k|        }
  572|   253k|        return ptr;
  573|   253k|    }
_ZNK5XSpan4SpanIKhE4dataEv:
  576|      5|    pointer data() const noexcept { return ptr; }
_ZNK5XSpan4SpanIKhE10size_bytesEv:
  579|      5|    size_type size_bytes() const {
  580|      5|        assertInvariants();
  581|      5|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 5]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|      0|            return 0;
  583|      5|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 5]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|            return 0;
  585|      5|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  586|      5|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  587|      5|        return p_end - p_begin;
  588|      5|    }
_ZNK5XSpan4SpanIhE10size_bytesEv:
  579|      5|    size_type size_bytes() const {
  580|      5|        assertInvariants();
  581|      5|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 5]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  582|      0|            return 0;
  583|      5|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 5]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  584|      0|            return 0;
  585|      5|        const charptr p_begin = upx::ptr_static_cast<const charptr>(ptr);
  586|      5|        const charptr p_end = upx::ptr_static_cast<const charptr>(base) + size_in_bytes;
  587|      5|        return p_end - p_begin;
  588|      5|    }
_ZNK5XSpan4SpanIhE9ensurePtrEv:
   95|    642|    inline pointer ensurePtr() const {
   96|    642|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    642|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 642]
  |  |  |  Branch (1558:47): [Folded, False: 642]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    642|        return ptr;
   99|    642|    }
_ZNK5XSpan4SpanIhE10ensureBaseEv:
  100|    642|    inline pointer ensureBase() const {
  101|    642|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    642|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 642]
  |  |  |  Branch (1558:47): [Folded, False: 642]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    642|        return base;
  104|    642|    }
_ZNK5XSpan4SpanIKhE9raw_bytesEm:
  562|   173k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   173k|        assertInvariants();
  564|   173k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 173k, False: 81]
  ------------------
  565|   173k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   173k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 173k]
  |  |  |  Branch (1558:47): [Folded, False: 173k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   173k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   173k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 173k, Folded]
  |  |  |  Branch (1558:47): [True: 173k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  568|   173k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   173k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   173k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   173k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   173k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 173k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   173k|        }
  572|   173k|        return ptr;
  573|   173k|    }
_ZNK5XSpan4SpanIhEixEl:
  463|      5|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIhE11check_derefEPhl:
  522|      5|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|      5|        assertInvariants();
  524|      5|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 5]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|      5|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|      5|        p += n;
  528|      5|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|      5|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 5, Folded]
  |  |  |  Branch (1558:47): [True: 5, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|      5|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|      5|        return p;
  531|      5|    }
_ZN5XSpan4SpanIhEpLEl:
  487|    264|    Self &operator+=(ptrdiff_t n) {
  488|    264|        ptr = check_add(ptr, n);
  489|    264|        return *this;
  490|    264|    }
_ZNK5XSpan4SpanIhE9check_addEPhl:
  532|   134k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   134k|        assertInvariants();
  534|   134k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   134k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 134k]
  |  |  |  Branch (1558:47): [Folded, False: 134k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   134k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   134k|        p += n;
  538|   134k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   134k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 134k, Folded]
  |  |  |  Branch (1558:47): [True: 134k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|   134k|            xspan_check_range(p, base, size_in_bytes);
  540|   134k|        return p;
  541|   134k|    }
_ZN5XSpan4SpanIhEppEi:
  472|    642|    Self operator++(int) {
  473|    642|        Self tmp = *this;
  474|    642|        ++*this;
  475|    642|        return tmp;
  476|    642|    }
_ZN5XSpan4SpanIhEppEv:
  468|    642|    Self &operator++() {
  469|    642|        ptr = check_add(ptr, 1);
  470|    642|        return *this;
  471|    642|    }
_ZNK5XSpan4SpanIhEdeEv:
  460|    642|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIhE11check_derefEPh:
  514|    642|    pointer check_deref(pointer p) const may_throw {
  515|    642|        assertInvariants();
  516|    642|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    642|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 642]
  |  |  |  Branch (1558:47): [Folded, False: 642]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    642|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    642|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 642, Folded]
  |  |  |  Branch (1558:47): [True: 642, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    642|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    642|        return p;
  521|    642|    }
_ZNK5XSpan4SpanIKhEplEl:
  496|   110k|    Self operator+(ptrdiff_t n) const {
  497|   110k|        pointer first = check_add(ptr, n);
  498|   110k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   110k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   110k|        r.f = f;
  501|   110k|#endif
  502|   110k|        return r;
  503|   110k|    }
_ZNK5XSpan4SpanIKhE9check_addEPS1_l:
  532|   703k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   703k|        assertInvariants();
  534|   703k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   703k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 703k]
  |  |  |  Branch (1558:47): [Folded, False: 703k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   703k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   703k|        p += n;
  538|   703k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   703k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 703k, Folded]
  |  |  |  Branch (1558:47): [True: 703k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|   703k|            xspan_check_range(p, base, size_in_bytes);
  540|   703k|        return p;
  541|   703k|    }
_ZN5XSpan4SpanIKhEC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|   110k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   110k|        assertInvariants();
  267|   110k|    }
_ZNK5XSpan4SpanIhEplEl:
  496|   133k|    Self operator+(ptrdiff_t n) const {
  497|   133k|        pointer first = check_add(ptr, n);
  498|   133k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   133k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   133k|        r.f = f;
  501|   133k|#endif
  502|   133k|        return r;
  503|   133k|    }
_ZN5XSpan4SpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|   134k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   134k|        assertInvariants();
  267|   134k|    }
_ZN5XSpan4SpanIhEC2IhEERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS6_hEE5valueeqL_ZNS_14ValueForSizeOfIhE5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS6_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|      5|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      5|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|      5|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|      5|        assertInvariants();
  158|      5|    }
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  234|  59.8k|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|  59.8k|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|  59.8k|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|  59.8k|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  190|  59.8k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|  59.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|  59.8k|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|  59.8k|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.8k, Folded]
  |  |  |  Branch (1558:47): [True: 59.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|  59.8k|                      (configRequireBase || base != nullptr))
  195|  59.8k|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|  59.8k|        assertInvariants();
  198|  59.8k|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|    132|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    132|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|    132|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    132|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIKhE11makeNotNullEPS1_:
   78|    186|    static inline pointer makeNotNull(pointer p) {
   79|    186|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    186|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    186|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    186|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 186]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    186|        return p;
   82|    186|    }
_ZN5XSpan4SpanIKhEC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|    132|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    132|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|    132|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|    132|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    264|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 132, Folded]
  |  |  |  Branch (1558:47): [True: 132, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|    132|                      (configRequireBase || base != nullptr))
  195|    132|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|    132|        assertInvariants();
  198|    132|    }
_ZN5XSpan4SpanIKhEpLEl:
  487|  32.0k|    Self &operator+=(ptrdiff_t n) {
  488|  32.0k|        ptr = check_add(ptr, n);
  489|  32.0k|        return *this;
  490|  32.0k|    }
_ZN5XSpan4SpanIKhEppEi:
  472|   554k|    Self operator++(int) {
  473|   554k|        Self tmp = *this;
  474|   554k|        ++*this;
  475|   554k|        return tmp;
  476|   554k|    }
_ZN5XSpan4SpanIKhEppEv:
  468|   561k|    Self &operator++() {
  469|   561k|        ptr = check_add(ptr, 1);
  470|   561k|        return *this;
  471|   561k|    }
_ZNK5XSpan4SpanIKhEdeEv:
  460|   702k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_:
  514|   702k|    pointer check_deref(pointer p) const may_throw {
  515|   702k|        assertInvariants();
  516|   702k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   702k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 702k]
  |  |  |  Branch (1558:47): [Folded, False: 702k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|   702k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   702k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 702k, Folded]
  |  |  |  Branch (1558:47): [True: 702k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|   702k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|   702k|        return p;
  521|   702k|    }
_ZNK5XSpan4SpanIKhEixEl:
  463|   135k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan4SpanIKhE11check_derefEPS1_l:
  522|   135k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|   135k|        assertInvariants();
  524|   135k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   135k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 135k]
  |  |  |  Branch (1558:47): [Folded, False: 135k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|   135k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|   135k|        p += n;
  528|   135k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   135k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 135k, Folded]
  |  |  |  Branch (1558:47): [True: 135k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  529|   135k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|   135k|        return p;
  531|   135k|    }
_ZNK5XSpan9PtrOrSpanIhE9raw_bytesEm:
  562|   201k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|   201k|        assertInvariants();
  564|   201k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 201k, False: 0]
  ------------------
  565|   201k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|   201k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 201k]
  |  |  |  Branch (1558:47): [Folded, False: 201k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|   201k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   403k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 183k, False: 18.7k]
  |  |  |  Branch (1558:47): [Folded, False: 201k]
  |  |  |  Branch (1558:47): [True: 183k, False: 18.7k]
  |  |  ------------------
  ------------------
  568|   183k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|   201k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|   201k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|   201k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|   201k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 201k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|   201k|        }
  572|   201k|        return ptr;
  573|   201k|    }
_ZNK5XSpan9PtrOrSpanIhE9ensurePtrEv:
   95|  22.3k|    inline pointer ensurePtr() const {
   96|  22.3k|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  22.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 22.3k]
  |  |  |  Branch (1558:47): [Folded, False: 22.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|  22.3k|        return ptr;
   99|  22.3k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_14XSpanDebugFileEPT_mNSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS7_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS7_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  155|  37.2k|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|  37.2k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  156|  37.2k|          size_in_bytes(xspan_mem_size<T>(count)) {
  157|  37.2k|        assertInvariants();
  158|  37.2k|    }
_ZNK5XSpan9PtrOrSpanIhE4dataEm:
  577|      5|    pointer data(size_t bytes) const may_throw { return raw_bytes(bytes); } // UPX extra
_ZNK5XSpan9PtrOrSpanIhEplEl:
  496|   119k|    Self operator+(ptrdiff_t n) const {
  497|   119k|        pointer first = check_add(ptr, n);
  498|   119k|        Self r = Self(Unchecked, first, size_in_bytes, base);
  499|   119k|#if XSPAN_CONFIG_ENABLE_DEBUG
  500|   119k|        r.f = f;
  501|   119k|#endif
  502|   119k|        return r;
  503|   119k|    }
_ZNK5XSpan9PtrOrSpanIhE9check_addEPhl:
  532|   119k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|   119k|        assertInvariants();
  534|   119k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|   119k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|   119k|        p += n;
  538|   119k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   239k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 119k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 119k]
  |  |  |  Branch (1558:47): [True: 119k, False: 0]
  |  |  ------------------
  ------------------
  539|   119k|            xspan_check_range(p, base, size_in_bytes);
  540|   119k|        return p;
  541|   119k|    }
_ZN5XSpan9PtrOrSpanIhEC2ENS1_13ModeUncheckedEPhmS3_:
  265|   119k|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|   119k|        assertInvariants();
  267|   119k|    }
_ZN5XSpan4SpanIKhEaSERKS2_:
  337|     77|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan4SpanIKhE6assignERKS2_:
  304|     77|    Self &assign(const Self &other) {
  305|     77|        assertInvariants();
  306|     77|        other.assertInvariants();
  307|     77|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     77|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 77]
  |  |  |  Branch (1558:47): [Folded, False: 77]
  |  |  |  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|     77|        } else {
  317|       |            // magic 2: assert same base (but ignore size_in_bytes !)
  318|     77|            if __acc_cte (configRequireBase || other.base != nullptr)
  ------------------
  |  | 1558|     77|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 77, Folded]
  |  |  |  Branch (1558:47): [True: 77, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  319|     77|                if very_unlikely (base != other.base)
  ------------------
  |  |  245|     77|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     77|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     77|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 77]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  320|      0|                    xspan_fail_not_same_base();
  321|     77|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|    154|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 77, Folded]
  |  |  |  Branch (1558:47): [True: 77, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  322|     77|                          (configRequireBase || base != nullptr))
  323|     77|                xspan_check_range(other.ptr, base, size_in_bytes);
  324|       |            // ok
  325|     77|            ptr = other.ptr;
  326|     77|        }
  327|     77|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|     77|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 0, False: 77]
  ------------------
  329|      0|            f = other.f;
  330|     77|#endif
  331|     77|        assertInvariants();
  332|     77|        return *this;
  333|     77|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileER9MemBuffer:
  228|      5|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|      5|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   49|      5|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  229|      5|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanI4LE32E11makeNotNullEPS1_:
   78|    169|    static inline pointer makeNotNull(pointer p) {
   79|    169|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    169|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    169|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    169|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 169]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    169|        return p;
   82|    169|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesE:
  143|      5|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|      5|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|      5|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|      5|        assertInvariants();
  146|      5|    }
_ZN5XSpan4SpanI4LE32E7makePtrEPS1_:
   84|    169|    static inline pointer makePtr(pointer p) {
   85|    169|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 169]
  |  |  |  Branch (1558:47): [True: 169, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 169]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    169|        return p;
   88|    169|    }
_ZN5XSpan4SpanI4LE32E8makeBaseEPS1_:
   89|    169|    static inline pointer makeBase(pointer b) {
   90|    169|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    338|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 169]
  |  |  |  Branch (1558:47): [True: 169, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 169]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    169|        return b;
   93|    169|    }
_ZN5XSpan4SpanI4LE32EppEi:
  472|  59.8k|    Self operator++(int) {
  473|  59.8k|        Self tmp = *this;
  474|  59.8k|        ++*this;
  475|  59.8k|        return tmp;
  476|  59.8k|    }
_ZN5XSpan4SpanI4LE32EppEv:
  468|  65.7k|    Self &operator++() {
  469|  65.7k|        ptr = check_add(ptr, 1);
  470|  65.7k|        return *this;
  471|  65.7k|    }
_ZNK5XSpan4SpanI4LE32E9check_addEPS1_l:
  532|  65.7k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  65.7k|        assertInvariants();
  534|  65.7k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  65.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 65.7k]
  |  |  |  Branch (1558:47): [Folded, False: 65.7k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  65.7k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  65.7k|        p += n;
  538|  65.7k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  65.7k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 65.7k, Folded]
  |  |  |  Branch (1558:47): [True: 65.7k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|  65.7k|            xspan_check_range(p, base, size_in_bytes);
  540|  65.7k|        return p;
  541|  65.7k|    }
_ZNK5XSpan4SpanI4LE32EdeEv:
  460|  71.8k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE32E11check_derefEPS1_:
  514|  71.8k|    pointer check_deref(pointer p) const may_throw {
  515|  71.8k|        assertInvariants();
  516|  71.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  71.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 71.8k]
  |  |  |  Branch (1558:47): [Folded, False: 71.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  71.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  71.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 71.8k, Folded]
  |  |  |  Branch (1558:47): [True: 71.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  71.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  71.8k|        return p;
  521|  71.8k|    }
_ZNK5XSpan4SpanI4LE32E9raw_bytesEm:
  562|      5|    pointer raw_bytes(size_t bytes) const may_throw {
  563|      5|        assertInvariants();
  564|      5|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 5]
  ------------------
  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|      5|        return ptr;
  573|      5|    }
_ZNK5XSpan9PtrOrSpanIKhE9raw_bytesEm:
  562|  82.3k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  82.3k|        assertInvariants();
  564|  82.3k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 82.3k, False: 0]
  ------------------
  565|  82.3k|            if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  82.3k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 82.3k]
  |  |  |  Branch (1558:47): [Folded, False: 82.3k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  566|      0|                xspan_fail_nullptr();
  567|  82.3k|            if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   164k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 62.9k, False: 19.3k]
  |  |  |  Branch (1558:47): [Folded, False: 82.3k]
  |  |  |  Branch (1558:47): [True: 62.9k, False: 19.3k]
  |  |  ------------------
  ------------------
  568|  62.9k|                xspan_check_range(ptr, base, size_in_bytes - bytes);
  569|  82.3k|            if very_unlikely (__acc_cte(VALGRIND_CHECK_MEM_IS_ADDRESSABLE(ptr, bytes) != 0))
  ------------------
  |  |  245|  82.3k|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|  82.3k|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|  82.3k|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 82.3k]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
  570|      0|                throwCantPack("raw_bytes valgrind-check-mem");
  571|  82.3k|        }
  572|  82.3k|        return ptr;
  573|  82.3k|    }
_ZNK5XSpan9PtrOrSpanIhEixEl:
  463|  59.8k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIhE11check_derefEPhl:
  522|  59.8k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  59.8k|        assertInvariants();
  524|  59.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  59.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  59.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  59.8k|        p += n;
  528|  59.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, False: 0]
  |  |  ------------------
  ------------------
  529|  59.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  59.8k|        return p;
  531|  59.8k|    }
_ZNK5XSpan9PtrOrSpanIKhEixEl:
  463|  59.8k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan9PtrOrSpanIKhE11check_derefEPS1_l:
  522|  59.8k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  59.8k|        assertInvariants();
  524|  59.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  59.8k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  59.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  59.8k|        p += n;
  528|  59.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, False: 0]
  |  |  ------------------
  ------------------
  529|  59.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  59.8k|        return p;
  531|  59.8k|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEptEv:
  466|  1.31k|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  514|  1.31k|    pointer check_deref(pointer p) const may_throw {
  515|  1.31k|        assertInvariants();
  516|  1.31k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  1.31k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 1.31k]
  |  |  |  Branch (1558:47): [Folded, False: 1.31k]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  1.31k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  1.31k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.31k, Folded]
  |  |  |  Branch (1558:47): [True: 1.31k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|  1.31k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  1.31k|        return p;
  521|  1.31k|    }
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   75|  1.97k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanIN6PeFile5Reloc9BaseRelocEE9type_castIhEENS0_IT_EEv:
  383|    658|    CSelf<U> type_cast() const {
  384|    658|        typedef CSelf<U> R;
  385|    658|        typedef typename R::pointer rpointer;
  386|    658|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|    658|                upx::ptr_static_cast<rpointer>(base));
  388|    658|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|    658|        r.f = f;
  390|    658|#endif
  391|    658|        return r;
  392|    658|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEED2Ev:
  116|  42.7k|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEED2Ev:
  116|     10|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16ED2Ev:
  116|  59.8k|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castIN6PeFile5Reloc9BaseRelocEEENS0_IT_EEv:
  383|      5|    CSelf<U> type_cast() const {
  384|      5|        typedef CSelf<U> R;
  385|      5|        typedef typename R::pointer rpointer;
  386|      5|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|      5|                upx::ptr_static_cast<rpointer>(base));
  388|      5|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|      5|        r.f = f;
  390|      5|#endif
  391|      5|        return r;
  392|      5|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEC2ENS4_13ModeUncheckedEPS3_mS6_:
  265|      5|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|      5|        assertInvariants();
  267|      5|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE16assertInvariantsEv:
   75|  62.5k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSERKS4_:
  337|      5|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignERKS4_:
  304|      5|    Self &assign(const Self &other) {
  305|      5|        assertInvariants();
  306|      5|        other.assertInvariants();
  307|      5|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     10|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [True: 5, Folded]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|      5|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     30|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  ------------------
  ------------------
  310|      5|                          (configRequireBase || other.base != nullptr))
  311|      5|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|      5|            ptr = other.ptr;
  314|      5|            base = other.base;
  315|      5|            size_in_bytes = other.size_in_bytes;
  316|      5|        } 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|      5|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|      5|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 5, False: 0]
  ------------------
  329|      5|            f = other.f;
  330|      5|#endif
  331|      5|        assertInvariants();
  332|      5|        return *this;
  333|      5|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE9type_castI4LE16EENS0_IT_EEv:
  383|      5|    CSelf<U> type_cast() const {
  384|      5|        typedef CSelf<U> R;
  385|      5|        typedef typename R::pointer rpointer;
  386|      5|        R r = R(R::Unchecked, upx::ptr_static_cast<rpointer>(ptr), size_in_bytes,
  387|      5|                upx::ptr_static_cast<rpointer>(base));
  388|      5|#if XSPAN_CONFIG_ENABLE_DEBUG
  389|      5|        r.f = f;
  390|      5|#endif
  391|      5|        return r;
  392|      5|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EC2ENS2_13ModeUncheckedEPS1_mS4_:
  265|      5|        : ptr(p), base(b), size_in_bytes(bytes) {
  266|      5|        assertInvariants();
  267|      5|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E16assertInvariantsEv:
   75|   240k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSERKS2_:
  337|      5|    Self &operator=(const Self &other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignERKS2_:
  304|      5|    Self &assign(const Self &other) {
  305|      5|        assertInvariants();
  306|      5|        other.assertInvariants();
  307|      5|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|     10|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [True: 5, Folded]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|      5|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|     30|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 5]
  |  |  |  Branch (1558:47): [True: 5, False: 0]
  |  |  ------------------
  ------------------
  310|      5|                          (configRequireBase || other.base != nullptr))
  311|      5|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|      5|            ptr = other.ptr;
  314|      5|            base = other.base;
  315|      5|            size_in_bytes = other.size_in_bytes;
  316|      5|        } 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|      5|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|      5|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 5, False: 0]
  ------------------
  329|      5|            f = other.f;
  330|      5|#endif
  331|      5|        assertInvariants();
  332|      5|        return *this;
  333|      5|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEaSEPS3_:
  335|    658|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE6assignEPS3_:
  293|    658|    Self &assign(pointer other) {
  294|    658|        assertInvariants();
  295|    658|        other = makePtr(other);
  296|    658|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  3.94k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 658, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 658, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 658, False: 0]
  |  |  ------------------
  ------------------
  297|    658|                      (configRequireBase || base != nullptr))
  298|    658|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    658|        ptr = other;
  301|    658|        assertInvariants();
  302|    658|        return *this;
  303|    658|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE7makePtrEPS3_:
   84|    658|    static inline pointer makePtr(pointer p) {
   85|    658|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    658|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 658]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    658|        return p;
   88|    658|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EaSEPS1_:
  335|    658|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E6assignEPS1_:
  293|    658|    Self &assign(pointer other) {
  294|    658|        assertInvariants();
  295|    658|        other = makePtr(other);
  296|    658|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|  3.94k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 658, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 658, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 658, False: 0]
  |  |  ------------------
  ------------------
  297|    658|                      (configRequireBase || base != nullptr))
  298|    658|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    658|        ptr = other;
  301|    658|        assertInvariants();
  302|    658|        return *this;
  303|    658|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E7makePtrEPS1_:
   84|    658|    static inline pointer makePtr(pointer p) {
   85|    658|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    658|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 658]
  |  |  |  Branch (1558:47): [Folded, False: 658]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    658|        return p;
   88|    658|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEi:
  472|  59.8k|    Self operator++(int) {
  473|  59.8k|        Self tmp = *this;
  474|  59.8k|        ++*this;
  475|  59.8k|        return tmp;
  476|  59.8k|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16EppEv:
  468|  59.8k|    Self &operator++() {
  469|  59.8k|        ptr = check_add(ptr, 1);
  470|  59.8k|        return *this;
  471|  59.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9check_addEPS1_l:
  532|  59.8k|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|  59.8k|        assertInvariants();
  534|  59.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 59.8k]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|  59.8k|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|  59.8k|        p += n;
  538|  59.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, False: 0]
  |  |  ------------------
  ------------------
  539|  59.8k|            xspan_check_range(p, base, size_in_bytes);
  540|  59.8k|        return p;
  541|  59.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16EdeEv:
  460|  59.8k|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E11check_derefEPS1_:
  514|  59.8k|    pointer check_deref(pointer p) const may_throw {
  515|  59.8k|        assertInvariants();
  516|  59.8k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 59.8k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  59.8k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   119k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 59.8k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 59.8k]
  |  |  |  Branch (1558:47): [True: 59.8k, False: 0]
  |  |  ------------------
  ------------------
  519|  59.8k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  59.8k|        return p;
  521|  59.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEptEv:
  466|  61.1k|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE11check_derefEPS3_:
  514|  61.1k|    pointer check_deref(pointer p) const may_throw {
  515|  61.1k|        assertInvariants();
  516|  61.1k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|   122k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 61.1k]
  |  |  |  Branch (1558:47): [True: 61.1k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 61.1k]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|  61.1k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|   122k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 61.1k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 61.1k]
  |  |  |  Branch (1558:47): [True: 61.1k, False: 0]
  |  |  ------------------
  ------------------
  519|  61.1k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|  61.1k|        return p;
  521|  61.1k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEeqEPS3_:
  394|    658|    bool operator==(pointer other) const noexcept { return ptr == other; }
_ZNK5XSpan15PtrOrSpanOrNullI4LE16E9raw_bytesEm:
  562|  59.8k|    pointer raw_bytes(size_t bytes) const may_throw {
  563|  59.8k|        assertInvariants();
  564|  59.8k|        if (bytes > 0) {
  ------------------
  |  Branch (564:13): [True: 0, False: 59.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|  59.8k|        return ptr;
  573|  59.8k|    }
_ZNK5XSpan15PtrOrSpanOrNullIhE7raw_ptrEv:
  558|      5|    pointer raw_ptr() const noexcept { return ptr; }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE9ensurePtrEv:
   95|    658|    inline pointer ensurePtr() const {
   96|    658|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|  1.31k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 658]
  |  |  |  Branch (1558:47): [True: 658, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 658]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    658|        return ptr;
   99|    658|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10ensureBaseEv:
  100|    658|    inline pointer ensureBase() const {
  101|    658|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|  1.31k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 658]
  |  |  |  Branch (1558:47): [True: 658, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 658]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    658|        return base;
  104|    658|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEED2Ev:
  116|    658|forceinline ~CSelf() noexcept {}
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEEneEPS3_:
  400|      5|    bool operator!=(pointer other) const noexcept { return ptr != other; }
_ZN5XSpan15PtrOrSpanOrNullIhE10invalidateEv:
  118|      5|    noinline void invalidate() {
  119|      5|        assertInvariants();
  120|      5|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      5|        base = ptr;                     // point to non-null invalid address
  122|      5|        size_in_bytes = 0;
  123|      5|        assertInvariants();
  124|      5|    }
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile5Reloc9BaseRelocEE10invalidateEv:
  118|      5|    noinline void invalidate() {
  119|      5|        assertInvariants();
  120|      5|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      5|        base = ptr;                     // point to non-null invalid address
  122|      5|        size_in_bytes = 0;
  123|      5|        assertInvariants();
  124|      5|    }
_ZN5XSpan15PtrOrSpanOrNullI4LE16E10invalidateEv:
  118|      5|    noinline void invalidate() {
  119|      5|        assertInvariants();
  120|      5|        ptr_invalidate_and_poison(ptr); // point to non-null invalid address
  121|      5|        base = ptr;                     // point to non-null invalid address
  122|      5|        size_in_bytes = 0;
  123|      5|        assertInvariants();
  124|      5|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEEixEl:
  463|  1.64k|    reference operator[](ptrdiff_t i) const { return *check_deref(ptr, i); }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE11check_derefEPS2_l:
  522|  1.64k|    pointer check_deref(pointer p, ptrdiff_t n) const may_throw {
  523|  1.64k|        assertInvariants();
  524|  1.64k|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|  3.29k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 1.64k]
  |  |  |  Branch (1558:47): [True: 1.64k, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 1.64k]
  |  |  ------------------
  ------------------
  525|      0|            xspan_fail_nullptr();
  526|  1.64k|        xspan_mem_size_assert_ptrdiff<T>(n);
  527|  1.64k|        p += n;
  528|  1.64k|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|  3.29k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 1.64k, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 1.64k]
  |  |  |  Branch (1558:47): [True: 1.64k, False: 0]
  |  |  ------------------
  ------------------
  529|  1.64k|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  530|  1.64k|        return p;
  531|  1.64k|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE16assertInvariantsEv:
   75|  2.90k|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileER9MemBuffer:
  228|    313|        : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|    313|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   49|    313|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  229|    313|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE11makeNotNullEPS2_:
   78|    313|    static inline pointer makeNotNull(pointer p) {
   79|    313|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|    313|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|    313|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|    313|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 313]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|    313|        return p;
   82|    313|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesE:
  143|    313|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(first)),
  ------------------
  |  |   47|    313|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  144|    313|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  145|    313|        assertInvariants();
  146|    313|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE7makePtrEPS2_:
   84|    313|    static inline pointer makePtr(pointer p) {
   85|    313|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    626|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 313]
  |  |  |  Branch (1558:47): [True: 313, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 313]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|    313|        return p;
   88|    313|    }
_ZN5XSpan4SpanIN6PeFile12pe_section_tEE8makeBaseEPS2_:
   89|    313|    static inline pointer makeBase(pointer b) {
   90|    313|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    626|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 313]
  |  |  |  Branch (1558:47): [True: 313, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 313]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|    313|        return b;
   93|    313|    }
_ZNK5XSpan4SpanIN6PeFile12pe_section_tEE16assertInvariantsEv:
   75|    313|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan4SpanIN6PeFile12pe_section_tEED2Ev:
  116|    313|forceinline ~CSelf() noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE6assignERKS3_:
  304|    313|    Self &assign(const Self &other) {
  305|    313|        assertInvariants();
  306|    313|        other.assertInvariants();
  307|    313|        if __acc_cte (!configRequireBase && base == nullptr) {
  ------------------
  |  | 1558|    626|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 313, False: 0]
  |  |  |  Branch (1558:47): [True: 313, Folded]
  |  |  |  Branch (1558:47): [True: 313, False: 0]
  |  |  ------------------
  ------------------
  308|       |            // magic 1: if base is unset, automatically set base/size_in_bytes from other
  309|    313|            if __acc_cte ((configRequirePtr || other.ptr != nullptr) &&
  ------------------
  |  | 1558|  1.87k|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 313, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 313]
  |  |  |  Branch (1558:47): [True: 313, False: 0]
  |  |  |  Branch (1558:47): [Folded, False: 313]
  |  |  |  Branch (1558:47): [True: 313, False: 0]
  |  |  ------------------
  ------------------
  310|    313|                          (configRequireBase || other.base != nullptr))
  311|    313|                xspan_check_range(other.ptr, other.base, other.size_in_bytes);
  312|       |            // ok
  313|    313|            ptr = other.ptr;
  314|    313|            base = other.base;
  315|    313|            size_in_bytes = other.size_in_bytes;
  316|    313|        } 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|    313|#if XSPAN_CONFIG_ENABLE_DEBUG && 1
  328|    313|        if (f.src_file == nullptr)
  ------------------
  |  Branch (328:13): [True: 313, False: 0]
  ------------------
  329|    313|            f = other.f;
  330|    313|#endif
  331|    313|        assertInvariants();
  332|    313|        return *this;
  333|    313|    }
_ZNK5XSpan15PtrOrSpanOrNullIN6PeFile12pe_section_tEE9ensurePtrEv:
   95|    313|    inline pointer ensurePtr() const {
   96|    313|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    626|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 313]
  |  |  |  Branch (1558:47): [True: 313, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 313]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    313|        return ptr;
   99|    313|    }
_ZN5XSpan4SpanIKhEC2ER9MemBuffer:
  225|     54|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     54|#define CSelf Span
  ------------------
  226|     54|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIKhEC2EPS1_NS_16XSpanSizeInBytesE:
  138|     54|        : ptr(makePtr(first)), base(makeBase(first)),
  139|     54|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|     54|        assertInvariants();
  141|     54|    }
_ZN5XSpan4SpanIhEaSEPh:
  335|    133|    Self &operator=(pointer other) { return assign(other); }
_ZN5XSpan4SpanIhE6assignEPh:
  293|    133|    Self &assign(pointer other) {
  294|    133|        assertInvariants();
  295|    133|        other = makePtr(other);
  296|    133|        if __acc_cte ((configRequirePtr || other != nullptr) &&
  ------------------
  |  | 1558|    266|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 133, Folded]
  |  |  |  Branch (1558:47): [True: 133, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  297|    133|                      (configRequireBase || base != nullptr))
  298|    133|            xspan_check_range(other, base, size_in_bytes);
  299|       |        // ok
  300|    133|        ptr = other;
  301|    133|        assertInvariants();
  302|    133|        return *this;
  303|    133|    }
_ZN5XSpan4SpanIKhEC2IhEERKNS_14XSpanDebugFileEPS1_mPT_NSt3__19enable_ifIXaaaasr5XSpan20XSpan_is_convertibleIS8_S1_EE5valueeqL_ZNS_14ValueForSizeOfIS1_E5valueEELi1Eeqsr5XSpan14ValueForSizeOfIS8_EE5valueLi1EENS_21XSpanInternalDummyArgEE4typeE:
  212|     62|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     62|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  213|     62|          size_in_bytes(xspan_mem_size<T>(count)) {
  214|       |        // check invariants
  215|     62|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    124|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  216|     62|                      (configRequireBase || base != nullptr))
  217|     62|            xspan_check_range(ptr, base, size_in_bytes);
  218|       |        // double sanity check
  219|     62|        assertInvariants();
  220|     62|    }
_ZN5XSpan4SpanIhEC2ER9MemBuffer:
  225|     62|        : CSelf(makeNotNull((pointer) membuffer_get_void_ptr(mb)),
  ------------------
  |  |   42|     62|#define CSelf Span
  ------------------
  226|     62|                XSpanSizeInBytes(membuffer_get_size_in_bytes(mb))) {}
_ZN5XSpan4SpanIhEC2EPhNS_16XSpanSizeInBytesE:
  138|     62|        : ptr(makePtr(first)), base(makeBase(first)),
  139|     62|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  140|     62|        assertInvariants();
  141|     62|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_R9MemBuffer:
  234|     62|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     62|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|     62|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|     62|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanIN6PeFile11import_descEE11makeNotNullEPS2_:
   78|     62|    static inline pointer makeNotNull(pointer p) {
   79|     62|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|     62|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     62|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     62|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 62]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|     62|        return p;
   82|     62|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKNS_14XSpanDebugFileEPS2_NS_16XSpanSizeInBytesES7_:
  190|     62|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     62|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|     62|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|     62|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    124|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|     62|                      (configRequireBase || base != nullptr))
  195|     62|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|     62|        assertInvariants();
  198|     62|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE7makePtrEPS2_:
   84|     62|    static inline pointer makePtr(pointer p) {
   85|     62|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    124|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 62]
  |  |  |  Branch (1558:47): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 62]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|     62|        return p;
   88|     62|    }
_ZN5XSpan4SpanIN6PeFile11import_descEE8makeBaseEPS2_:
   89|     62|    static inline pointer makeBase(pointer b) {
   90|     62|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|    124|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 62]
  |  |  |  Branch (1558:47): [True: 62, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 62]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|     62|        return b;
   93|     62|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE16assertInvariantsEv:
   75|    936|forceinline void assertInvariants() const noexcept {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhR9MemBuffer:
  234|     62|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     62|#define CSelf PtrOrSpanOrNull
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|     62|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|     62|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan15PtrOrSpanOrNullIhEC2ERKNS_14XSpanDebugFileEPhNS_16XSpanSizeInBytesES5_:
  190|     62|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     62|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|     62|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|     62|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    186|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 62]
  |  |  |  Branch (1558:47): [Folded, False: 62]
  |  |  |  Branch (1558:47): [True: 0, False: 62]
  |  |  |  Branch (1558:47): [Folded, False: 0]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|     62|                      (configRequireBase || base != nullptr))
  195|      0|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|     62|        assertInvariants();
  198|     62|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEEptEv:
  466|    526|    pointer operator->() const { return check_deref(ptr); }
_ZNK5XSpan4SpanIN6PeFile11import_descEE11check_derefEPS2_:
  514|    526|    pointer check_deref(pointer p) const may_throw {
  515|    526|        assertInvariants();
  516|    526|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    526|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 526]
  |  |  |  Branch (1558:47): [Folded, False: 526]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    526|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    526|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 526, Folded]
  |  |  |  Branch (1558:47): [True: 526, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    526|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    526|        return p;
  521|    526|    }
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|    164|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|    164|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|    164|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|    164|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE32EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|    164|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|    164|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|    164|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|    164|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|    328|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 164, Folded]
  |  |  |  Branch (1558:47): [True: 164, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|    164|                      (configRequireBase || base != nullptr))
  195|    164|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|    164|        assertInvariants();
  198|    164|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEi:
  472|    174|    Self operator++(int) {
  473|    174|        Self tmp = *this;
  474|    174|        ++*this;
  475|    174|        return tmp;
  476|    174|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9ensurePtrEv:
   95|    174|    inline pointer ensurePtr() const {
   96|    174|        if __acc_cte (!configRequirePtr && ptr == nullptr)
  ------------------
  |  | 1558|    174|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 174]
  |  |  |  Branch (1558:47): [Folded, False: 174]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
   97|      0|            xspan_fail_nullptr();
   98|    174|        return ptr;
   99|    174|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE10ensureBaseEv:
  100|    174|    inline pointer ensureBase() const {
  101|    174|        if __acc_cte (!configRequireBase && base == nullptr)
  ------------------
  |  | 1558|    174|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 174]
  |  |  |  Branch (1558:47): [Folded, False: 174]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  102|      0|            xspan_fail_nullbase();
  103|    174|        return base;
  104|    174|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEppEv:
  468|    174|    Self &operator++() {
  469|    174|        ptr = check_add(ptr, 1);
  470|    174|        return *this;
  471|    174|    }
_ZNK5XSpan4SpanIN6PeFile11import_descEE9check_addEPS2_l:
  532|    174|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|    174|        assertInvariants();
  534|    174|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    174|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 174]
  |  |  |  Branch (1558:47): [Folded, False: 174]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|    174|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|    174|        p += n;
  538|    174|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    174|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 174, Folded]
  |  |  |  Branch (1558:47): [True: 174, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|    174|            xspan_check_range(p, base, size_in_bytes);
  540|    174|        return p;
  541|    174|    }
_ZN5XSpan4SpanIN6PeFile11import_descEED2Ev:
  116|    236|forceinline ~CSelf() noexcept {}
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_R9MemBuffer:
  234|     10|        : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   42|     10|#define CSelf Span
  ------------------
                      : CSelf(XSPAN_DEBUG_PASS first, XSpanSizeInBytes(membuffer_get_size_in_bytes(mb)),
  ------------------
  |  |   49|     10|#define XSPAN_DEBUG_PASS  ff,
  ------------------
  235|     10|                makeNotNull((pointer) membuffer_get_void_ptr(mb))) {}
_ZN5XSpan4SpanI4LE64E11makeNotNullEPS1_:
   78|     10|    static inline pointer makeNotNull(pointer p) {
   79|     10|        if very_unlikely (p == nullptr)
  ------------------
  |  |  245|     10|#define very_unlikely         __acc_very_unlikely
  |  |  ------------------
  |  |  |  | 2046|     10|#  define __acc_very_unlikely(e)    __acc_unlikely(e)
  |  |  |  |  ------------------
  |  |  |  |  |  | 2017|     10|#  define __acc_unlikely(e)     (__builtin_expect(!!(e),0))
  |  |  |  |  |  |  ------------------
  |  |  |  |  |  |  |  Branch (2017:34): [True: 0, False: 10]
  |  |  |  |  |  |  ------------------
  |  |  |  |  ------------------
  |  |  ------------------
  ------------------
   80|      0|            xspan_fail_nullptr();
   81|     10|        return p;
   82|     10|    }
_ZN5XSpan4SpanI4LE64EC2ERKNS_14XSpanDebugFileEPS1_NS_16XSpanSizeInBytesES6_:
  190|     10|        : XSPAN_DEBUG_IMPL ptr(makePtr(first)), base(makeBase(base_)),
  ------------------
  |  |   47|     10|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
  191|     10|          size_in_bytes(xspan_mem_size<char>(bytes.size_in_bytes)) {
  192|       |        // check invariants
  193|     10|        if __acc_cte ((configRequirePtr || ptr != nullptr) &&
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  |  Branch (1558:47): [True: 0, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  194|     10|                      (configRequireBase || base != nullptr))
  195|     10|            xspan_check_range(ptr, base, size_in_bytes);
  196|       |        // double sanity check
  197|     10|        assertInvariants();
  198|     10|    }
_ZN5XSpan4SpanI4LE64E7makePtrEPS1_:
   84|     10|    static inline pointer makePtr(pointer p) {
   85|     10|        if __acc_cte (configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 10]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 10]
  |  |  ------------------
  ------------------
   86|      0|            xspan_fail_nullptr();
   87|     10|        return p;
   88|     10|    }
_ZN5XSpan4SpanI4LE64E8makeBaseEPS1_:
   89|     10|    static inline pointer makeBase(pointer b) {
   90|     10|        if __acc_cte (configRequireBase && b == nullptr)
  ------------------
  |  | 1558|     20|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 0, False: 10]
  |  |  |  Branch (1558:47): [True: 10, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 10]
  |  |  ------------------
  ------------------
   91|      0|            xspan_fail_nullbase();
   92|     10|        return b;
   93|     10|    }
_ZNK5XSpan4SpanI4LE64E16assertInvariantsEv:
   75|  1.41k|forceinline void assertInvariants() const noexcept {}
_ZNK5XSpan4SpanI4LE64EdeEv:
  460|    940|    reference operator*() const { return *check_deref(ptr); }
_ZNK5XSpan4SpanI4LE64E11check_derefEPS1_:
  514|    940|    pointer check_deref(pointer p) const may_throw {
  515|    940|        assertInvariants();
  516|    940|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    940|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 940]
  |  |  |  Branch (1558:47): [Folded, False: 940]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  517|      0|            xspan_fail_nullptr();
  518|    940|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    940|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 940, Folded]
  |  |  |  Branch (1558:47): [True: 940, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  519|    940|            xspan_check_range(p, base, size_in_bytes - sizeof(T));
  520|    940|        return p;
  521|    940|    }
_ZN5XSpan4SpanI4LE64EppEv:
  468|    465|    Self &operator++() {
  469|    465|        ptr = check_add(ptr, 1);
  470|    465|        return *this;
  471|    465|    }
_ZNK5XSpan4SpanI4LE64E9check_addEPS1_l:
  532|    465|    pointer check_add(pointer p, ptrdiff_t n) const may_throw {
  533|    465|        assertInvariants();
  534|    465|        if __acc_cte (!configRequirePtr && p == nullptr)
  ------------------
  |  | 1558|    465|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [Folded, False: 465]
  |  |  |  Branch (1558:47): [Folded, False: 465]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  535|      0|            xspan_fail_nullptr();
  536|    465|        xspan_mem_size_assert_ptrdiff<T>(n);
  537|    465|        p += n;
  538|    465|        if __acc_cte (configRequireBase || base != nullptr)
  ------------------
  |  | 1558|    465|#    define __acc_cte(e)            ((void)0,(e))
  |  |  ------------------
  |  |  |  Branch (1558:38): [True: 465, Folded]
  |  |  |  Branch (1558:47): [True: 465, Folded]
  |  |  |  Branch (1558:47): [True: 0, False: 0]
  |  |  ------------------
  ------------------
  539|    465|            xspan_check_range(p, base, size_in_bytes);
  540|    465|        return p;
  541|    465|    }
_ZN5XSpan4SpanI4LE64ED2Ev:
  116|     10|forceinline ~CSelf() noexcept {}

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

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

_ZN5XSpan4SpanIiEC2IiEERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  29.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  29.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  29.8k|          size_in_bytes(other.size_in_bytes) {
   89|  29.8k|        assertInvariants();
   90|  29.8k|    }
_ZN5XSpan4SpanIiEC2IiEERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS4_iEE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  29.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  29.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  29.8k|          size_in_bytes(other.size_in_bytes) {
  101|  29.8k|        assertInvariants();
  102|  29.8k|    }
_ZNK5XSpan4SpanIiEneEDn:
  149|  14.9k|    bool operator!=(std::nullptr_t) const {
  150|  14.9k|        assertInvariants();
  151|  14.9k|        return true;
  152|  14.9k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|  14.9k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|  14.9k|          size_in_bytes(other.size_in_bytes) {
   89|  14.9k|        assertInvariants();
   90|  14.9k|    }
_ZN5XSpan4SpanIKhEC2IS1_EERKNS_9PtrOrSpanIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS5_S1_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   99|  14.9k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
  100|  14.9k|          size_in_bytes(other.size_in_bytes) {
  101|  14.9k|        assertInvariants();
  102|  14.9k|    }
_ZN5XSpan9raw_bytesIcEENS_4SpanIT_E7pointerERKS3_m:
  159|  59.6k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  59.6k|    return a.raw_bytes(size_in_bytes);
  161|  59.6k|}
_ZN5XSpan15raw_index_bytesIcEENS_4SpanIT_E7pointerERKS3_mm:
  164|  59.6k|                                                 size_t size_in_bytes) {
  165|  59.6k|    typedef typename Span<T>::element_type element_type;
  166|  59.6k|    return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  59.6k|#define index    upx_renamed_index
  ------------------
                  return a.raw_bytes(mem_size(sizeof(element_type), index, size_in_bytes)) + index;
  ------------------
  |  |  340|  59.6k|#define index    upx_renamed_index
  ------------------
  167|  59.6k|}
_ZN5XSpan4SpanItEC2ERKNS_14XSpanDebugFileERKS1_:
   66|  29.8k|        : XSPAN_DEBUG_IMPL ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   47|  29.8k|#define XSPAN_DEBUG_IMPL  f(ff),
  ------------------
   67|  29.8k|          size_in_bytes(other.size_in_bytes) {
   68|  29.8k|        assertInvariants();
   69|  29.8k|    }
_ZN5XSpan4SpanIcEC2ERKS1_:
   61|  14.9k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  14.9k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  14.9k|          size_in_bytes(other.size_in_bytes) {
   63|  14.9k|        assertInvariants();
   64|  14.9k|    }
_ZN5XSpan9raw_bytesIhEENS_4SpanIT_E7pointerERKS3_m:
  159|  7.45k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  7.45k|    return a.raw_bytes(size_in_bytes);
  161|  7.45k|}
_ZN5XSpan4SpanIhEC2ERKS1_:
   61|    642|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    642|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    642|          size_in_bytes(other.size_in_bytes) {
   63|    642|        assertInvariants();
   64|    642|    }
_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|   570k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|   570k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|   570k|          size_in_bytes(other.size_in_bytes) {
   63|   570k|        assertInvariants();
   64|   570k|    }
_ZN5XSpan9raw_bytesIKhEENS_4SpanIT_E7pointerERKS4_m:
  159|  37.7k|inline typename Span<T>::pointer raw_bytes(const Span<T> &a, size_t size_in_bytes) {
  160|  37.7k|    return a.raw_bytes(size_in_bytes);
  161|  37.7k|}
_ZN5XSpan4SpanI4LE32EC2ERKS2_:
   61|  59.8k|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|  59.8k|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|  59.8k|          size_in_bytes(other.size_in_bytes) {
   63|  59.8k|        assertInvariants();
   64|  59.8k|    }
_ZN5XSpan4SpanIN6PeFile5Reloc9BaseRelocEEC2IS3_EERKNS_15PtrOrSpanOrNullIT_EENSt3__19enable_ifIXsr5XSpan20XSpan_is_convertibleIS7_S3_EE5valueENS_21XSpanInternalDummyArgEE4typeE:
   87|    658|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    658|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   88|    658|          size_in_bytes(other.size_in_bytes) {
   89|    658|        assertInvariants();
   90|    658|    }
_ZN5XSpan4SpanIN6PeFile11import_descEEC2ERKS3_:
   61|    174|        : XSPAN_DEBUG_OTHER ptr(other.ensurePtr()), base(other.ensureBase()),
  ------------------
  |  |   48|    174|#define XSPAN_DEBUG_OTHER f(other.f),
  ------------------
   62|    174|          size_in_bytes(other.size_in_bytes) {
   63|    174|        assertInvariants();
   64|    174|    }

_Z11do_one_filePKcPc:
  208|  14.9k|void do_one_file(const char *const iname, char *const oname) may_throw {
  209|  14.9k|    oname[0] = 0; // make empty
  210|       |
  211|       |    // check iname stat
  212|  14.9k|    XStat xst = {};
  213|  14.9k|    struct stat &st = xst.st;
  214|  14.9k|#if HAVE_LSTAT
  215|  14.9k|    int rr = lstat(iname, &st);
  216|       |#else
  217|       |    int rr = stat(iname, &st);
  218|       |#endif
  219|  14.9k|    if (rr != 0) {
  ------------------
  |  Branch (219:9): [True: 0, False: 14.9k]
  ------------------
  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.9k|#if HAVE_LSTAT
  226|  14.9k|    if (S_ISLNK(st.st_mode))
  ------------------
  |  Branch (226:9): [True: 0, False: 14.9k]
  ------------------
  227|      0|        throwIOException("is a symlink -- skipped");
  228|  14.9k|#endif
  229|  14.9k|    if (S_ISDIR(st.st_mode))
  ------------------
  |  Branch (229:9): [True: 0, False: 14.9k]
  ------------------
  230|      0|        throwIOException("is a directory -- skipped");
  231|  14.9k|    if (!(S_ISREG(st.st_mode)))
  ------------------
  |  Branch (231:9): [True: 0, False: 14.9k]
  ------------------
  232|      0|        throwIOException("not a regular file -- skipped");
  233|  14.9k|#if defined(__unix__)
  234|       |    // no special bits may be set
  235|  14.9k|    if ((st.st_mode & (S_ISUID | S_ISGID | S_ISVTX)) != 0)
  ------------------
  |  Branch (235:9): [True: 0, False: 14.9k]
  ------------------
  236|      0|        throwIOException("file has special permissions -- skipped");
  237|  14.9k|#endif
  238|  14.9k|    if (st.st_size <= 0)
  ------------------
  |  Branch (238:9): [True: 0, False: 14.9k]
  ------------------
  239|      0|        throwIOException("empty file -- skipped");
  240|  14.9k|    if (st.st_size < 512)
  ------------------
  |  Branch (240:9): [True: 22, False: 14.8k]
  ------------------
  241|     22|        throwIOException("file is too small -- skipped");
  242|  14.8k|    if (!mem_size_valid_bytes(st.st_size))
  ------------------
  |  Branch (242:9): [True: 0, False: 14.8k]
  ------------------
  243|      0|        throwIOException("file is too large -- skipped");
  244|  14.8k|    if ((st.st_mode & S_IWUSR) == 0) {
  ------------------
  |  Branch (244:9): [True: 0, False: 14.8k]
  ------------------
  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.8k|    InputFile fi;
  258|  14.8k|    fi.sopen(iname, get_open_flags(RO_MUST_EXIST), SH_DENYWR);
  ------------------
  |  |   64|  14.8k|#define SH_DENYWR (-1)
  ------------------
  259|       |
  260|  14.8k|    if (opt->preserve_timestamp) {
  ------------------
  |  Branch (260:9): [True: 14.8k, 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.8k|    }
  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.8k|    OutputFile fo;
  275|  14.8k|    bool preserve_link = opt->preserve_link;
  276|  14.8k|    bool copy_timestamp_only = false;
  277|  14.8k|    if (opt->cmd == CMD_COMPRESS || opt->cmd == CMD_DECOMPRESS) {
  ------------------
  |  Branch (277:9): [True: 0, False: 14.8k]
  |  Branch (277:37): [True: 14.8k, False: 0]
  ------------------
  278|  14.8k|        if (opt->to_stdout) {
  ------------------
  |  Branch (278:13): [True: 0, False: 14.8k]
  ------------------
  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.8k|        } else {
  283|  14.8k|            char tname[ACC_FN_PATH_MAX + 1];
  284|  14.8k|            if (opt->output_name) {
  ------------------
  |  Branch (284:17): [True: 14.8k, False: 0]
  ------------------
  285|  14.8k|                strcpy(tname, opt->output_name);
  286|  14.8k|                if ((opt->force_overwrite || opt->force >= 2) && !preserve_link)
  ------------------
  |  Branch (286:22): [True: 0, False: 14.8k]
  |  Branch (286:46): [True: 0, False: 14.8k]
  |  Branch (286:66): [True: 0, False: 0]
  ------------------
  287|      0|                    (void) FileBase::unlink_noexcept(tname); // IGNORE_ERROR
  288|  14.8k|            } 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.8k|            int flags = get_open_flags(WO_MUST_CREATE); // don't overwrite files by default
  295|  14.8k|            if (opt->output_name && preserve_link) {
  ------------------
  |  Branch (295:17): [True: 14.8k, False: 0]
  |  Branch (295:37): [True: 0, False: 14.8k]
  ------------------
  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.8k|            } else if (opt->force_overwrite || opt->force) {
  ------------------
  |  Branch (314:24): [True: 0, False: 14.8k]
  |  Branch (314:48): [True: 0, False: 14.8k]
  ------------------
  315|      0|                flags = get_open_flags(WO_CREATE_OR_TRUNCATE);
  316|      0|            }
  317|  14.8k|            int shmode = SH_DENYWR;
  ------------------
  |  |   64|  14.8k|#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.8k|            int omode = opt->preserve_mode ? 0600 : 0666; // affected by umask; only for O_CREAT
  ------------------
  |  Branch (325:25): [True: 14.8k, False: 0]
  ------------------
  326|  14.8k|            fo.sopen(tname, flags, shmode, omode);
  327|       |            // open succeeded - now set oname[]
  328|  14.8k|            strcpy(oname, tname);
  329|  14.8k|        }
  330|  14.8k|    }
  331|       |
  332|       |    // handle command - actual work starts HERE
  333|  14.8k|    {
  334|  14.8k|        PackMaster pm(&fi, opt);
  335|  14.8k|        if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (335:13): [True: 0, False: 14.8k]
  ------------------
  336|      0|            pm.pack(&fo);
  337|  14.8k|        else if (opt->cmd == CMD_DECOMPRESS)
  ------------------
  |  Branch (337:18): [True: 14.8k, False: 0]
  ------------------
  338|  14.8k|            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.8k|    }
  348|       |
  349|       |    // copy time stamp
  350|  14.8k|    if (oname[0] && opt->preserve_timestamp && fo.isOpen())
  ------------------
  |  Branch (350:9): [True: 60, False: 14.8k]
  |  Branch (350:21): [True: 60, False: 0]
  |  Branch (350:48): [True: 60, False: 0]
  ------------------
  351|     60|        set_fd_timestamp(fo.getFd(), &xst);
  352|       |
  353|       |    // close files
  354|  14.8k|    fi.closex();
  355|  14.8k|    fo.closex();
  356|       |
  357|       |    // rename or copy files
  358|  14.8k|    if (oname[0] && !opt->output_name) {
  ------------------
  |  Branch (358:9): [True: 60, False: 14.8k]
  |  Branch (358:21): [True: 0, False: 60]
  ------------------
  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.8k|    if (oname[0]) {
  ------------------
  |  Branch (388:9): [True: 60, False: 14.8k]
  ------------------
  389|     60|        oname[0] = 0; // done with oname
  390|     60|        const char *name = opt->output_name ? opt->output_name : iname;
  ------------------
  |  Branch (390:28): [True: 60, False: 0]
  ------------------
  391|     60|        if (copy_timestamp_only)
  ------------------
  |  Branch (391:13): [True: 0, False: 60]
  ------------------
  392|      0|            copy_file_attributes(&xst, name, false, false, opt->preserve_timestamp);
  393|     60|        else
  394|     60|            copy_file_attributes(&xst, name, opt->preserve_mode, opt->preserve_ownership,
  395|     60|                                 opt->preserve_timestamp);
  396|     60|    }
  397|       |
  398|  14.8k|    UiPacker::uiConfirmUpdate();
  399|  14.8k|}
_Z8do_filesiiPPc:
  412|  14.9k|int do_files(int i, int argc, char *argv[]) may_throw {
  413|  14.9k|    upx_compiler_sanity_check();
  414|  14.9k|    if (opt->verbose >= 1) {
  ------------------
  |  Branch (414:9): [True: 14.9k, False: 0]
  ------------------
  415|  14.9k|        show_header();
  416|  14.9k|        UiPacker::uiHeader();
  417|  14.9k|    }
  418|       |
  419|  29.8k|    for (; i < argc; i++) {
  ------------------
  |  Branch (419:12): [True: 14.9k, False: 14.9k]
  ------------------
  420|  14.9k|        infoHeader();
  421|       |
  422|  14.9k|        const char *const iname = argv[i];
  423|  14.9k|        char oname[ACC_FN_PATH_MAX + 1];
  424|  14.9k|        oname[0] = 0;
  425|       |
  426|  14.9k|        try {
  427|  14.9k|            do_one_file(iname, oname);
  428|  14.9k|        } catch (const Exception &e) {
  429|  14.8k|            unlink_ofile(oname);
  430|  14.8k|            if (opt->verbose >= 1 || (opt->verbose >= 0 && !e.isWarning()))
  ------------------
  |  Branch (430:17): [True: 14.8k, False: 0]
  |  Branch (430:39): [True: 0, False: 0]
  |  Branch (430:60): [True: 0, False: 0]
  ------------------
  431|  14.8k|                printErr(iname, e);
  432|  14.8k|            main_set_exit_code(e.isWarning() ? EXIT_WARN : EXIT_ERROR);
  ------------------
  |  |  523|  2.59k|#define EXIT_WARN       2
  ------------------
                          main_set_exit_code(e.isWarning() ? EXIT_WARN : EXIT_ERROR);
  ------------------
  |  |  522|  12.2k|#define EXIT_ERROR      1
  ------------------
  |  Branch (432:32): [True: 2.59k, False: 12.2k]
  ------------------
  433|       |            // this is not fatal, continue processing more files
  434|  14.8k|        } catch (const Error &e) {
  435|     14|            unlink_ofile(oname);
  436|     14|            printErr(iname, e);
  437|     14|            main_set_exit_code(EXIT_ERROR);
  ------------------
  |  |  522|     14|#define EXIT_ERROR      1
  ------------------
  438|     14|            return -1; // fatal error
  439|     14|        } 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.9k|    }
  469|       |
  470|  14.9k|    if (opt->cmd == CMD_COMPRESS)
  ------------------
  |  Branch (470:9): [True: 0, False: 14.9k]
  ------------------
  471|      0|        UiPacker::uiPackTotal();
  472|  14.9k|    else if (opt->cmd == CMD_DECOMPRESS)
  ------------------
  |  Branch (472:14): [True: 14.9k, False: 0]
  ------------------
  473|  14.9k|        UiPacker::uiUnpackTotal();
  474|      0|    else if (opt->cmd == CMD_TEST)
  ------------------
  |  Branch (474:14): [True: 0, False: 0]
  ------------------
  475|      0|        UiPacker::uiTestTotal();
  476|      0|    else if (opt->cmd == CMD_LIST)
  ------------------
  |  Branch (476:14): [True: 0, False: 0]
  ------------------
  477|      0|        UiPacker::uiListTotal();
  478|      0|    else if (opt->cmd == CMD_FILEINFO)
  ------------------
  |  Branch (478:14): [True: 0, False: 0]
  ------------------
  479|      0|        UiPacker::uiFileInfoTotal();
  480|  14.9k|    return 0;
  481|  14.9k|}
work.cpp:_ZN12_GLOBAL__N_114get_open_flagsENS_8OpenModeE:
   88|  29.7k|static constexpr int get_open_flags(OpenMode om) noexcept {
   89|  29.7k|    constexpr int wo_flags = O_WRONLY | O_BINARY;
  ------------------
  |  |  330|  29.7k|#define O_BINARY 0
  ------------------
   90|  29.7k|    if (om == WO_MUST_EXIST_TRUNCATE)
  ------------------
  |  Branch (90:9): [True: 0, False: 29.7k]
  ------------------
   91|      0|        return wo_flags | O_TRUNC; // will cause an error if file does not exist
   92|  29.7k|    if (om == WO_MUST_CREATE)
  ------------------
  |  Branch (92:9): [True: 14.8k, False: 14.8k]
  ------------------
   93|  14.8k|        return wo_flags | O_CREAT | O_EXCL; // will cause an error if file already exists
   94|  14.8k|    if (om == WO_CREATE_OR_TRUNCATE)
  ------------------
  |  Branch (94:9): [True: 0, False: 14.8k]
  ------------------
   95|      0|        return wo_flags | O_CREAT | O_TRUNC; // create if not exists, otherwise truncate
   96|       |    // RO_MUST_EXIST
   97|  14.8k|    return O_RDONLY | O_BINARY; // will cause an error if file does not exist
  ------------------
  |  |  330|  14.8k|#define O_BINARY 0
  ------------------
   98|  14.8k|}
work.cpp:_ZN12_GLOBAL__N_116set_fd_timestampEiPKNS_5XStatE:
  101|     60|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|     60|    UNUSED(fd);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  118|     60|    UNUSED(xst);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  119|     60|}
work.cpp:_ZN12_GLOBAL__N_120copy_file_attributesEPKNS_5XStatEPKcbbb:
  147|     60|                                          bool preserve_timestamp) noexcept {
  148|     60|    const struct stat *const st = &xst->st;
  149|       |    // copy time stamp
  150|     60|    if (preserve_timestamp) {
  ------------------
  |  Branch (150:9): [True: 60, False: 0]
  ------------------
  151|     60|#if USE_UTIMENSAT && defined(AT_FDCWD)
  152|     60|        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|     60|        times[0] = st->st_atim;
  160|     60|        times[1] = st->st_mtim;
  161|     60|#endif
  162|     60|        int r = utimensat(AT_FDCWD, oname, &times[0], 0);
  163|     60|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     60|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    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|     60|    }
  172|     60|#if HAVE_CHOWN
  173|       |    // copy the group ownership
  174|     60|    if (preserve_ownership) {
  ------------------
  |  Branch (174:9): [True: 60, False: 0]
  ------------------
  175|     60|        int r = chown(oname, -1, st->st_gid);
  176|     60|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     60|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  177|     60|    }
  178|     60|#endif
  179|     60|#if HAVE_CHMOD
  180|       |    // copy permissions
  181|     60|    if (preserve_mode) {
  ------------------
  |  Branch (181:9): [True: 60, False: 0]
  ------------------
  182|     60|        int r = chmod(oname, st->st_mode);
  183|     60|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     60|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  184|     60|    }
  185|     60|#endif
  186|     60|#if HAVE_CHOWN
  187|       |    // copy the user ownership
  188|     60|    if (preserve_ownership) {
  ------------------
  |  Branch (188:9): [True: 60, False: 0]
  ------------------
  189|     60|        int r = chown(oname, st->st_uid, -1);
  190|     60|        IGNORE_ERROR(r);
  ------------------
  |  |   84|     60|#define IGNORE_ERROR(var) ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  191|     60|    }
  192|     60|#endif
  193|       |    // maybe unused
  194|     60|    UNUSED(xst);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  195|     60|    UNUSED(st);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  196|     60|    UNUSED(oname);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  197|     60|    UNUSED(preserve_mode);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  198|     60|    UNUSED(preserve_ownership);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  199|     60|    UNUSED(preserve_timestamp);
  ------------------
  |  |  249|     60|#define UNUSED(var)            ACC_UNUSED(var)
  |  |  ------------------
  |  |  |  | 1574|     60|#    define ACC_UNUSED(var)         ((void) &var)
  |  |  ------------------
  ------------------
  200|     60|}
work.cpp:_ZL12unlink_ofilePc:
  405|  14.8k|static noinline void unlink_ofile(char *oname) noexcept {
  406|  14.8k|    if (oname && oname[0]) {
  ------------------
  |  Branch (406:9): [True: 14.8k, False: 0]
  |  Branch (406:18): [True: 14.8k, False: 22]
  ------------------
  407|  14.8k|        (void) FileBase::unlink_noexcept(oname); // IGNORE_ERROR
  408|  14.8k|        oname[0] = 0;                            // done with oname
  409|  14.8k|    }
  410|  14.8k|}

